Freigeben über


mixerOpen-Funktion (mmeapi.h)

Die MixerOpen-Funktion öffnet ein angegebenes Mixergerät und stellt sicher, dass das Gerät erst entfernt wird, wenn die Anwendung den Ziehpunkt schließt.

Syntax

MMRESULT mixerOpen(
  LPHMIXER  phmx,
  UINT      uMxId,
  DWORD_PTR dwCallback,
  DWORD_PTR dwInstance,
  DWORD     fdwOpen
);

Parameter

phmx

Zeiger auf eine Variable, die ein Handle erhält, das das geöffnete Mixergerät identifiziert. Verwenden Sie dieses Handle, um das Gerät beim Aufrufen anderer Audiomixerfunktionen zu identifizieren. Dieser Parameter darf nicht NULL sein.

uMxId

Bezeichner des zu öffnenden Mixergeräts. Verwenden Sie einen gültigen Gerätebezeichner oder einen beliebigen HMIXEROBJ (eine Beschreibung der Mixer-Objekthandles finden Sie in der MixerGetID-Funktion ). Ein "Mapper" für Audiomixergeräte ist derzeit nicht vorhanden, sodass der Bezeichner des Mixergeräts -1 ungültig ist.

dwCallback

Handle für ein Fenster, das aufgerufen wird, wenn der Zustand einer Audioleitung und/oder eines Steuerelements, das dem geöffneten Gerät zugeordnet ist, geändert wird. Geben Sie NULL für diesen Parameter an, wenn kein Rückrufmechanismus verwendet werden soll.

dwInstance

Reserviert. Muss Null sein.

fdwOpen

Flags zum Öffnen des Geräts. Die folgenden Werte werden definiert.

Wert Bedeutung
CALLBACK_WINDOW Der dwCallback-Parameter wird als Fensterhandle (HWND) angenommen.
MIXER_OBJECTF_AUX Der uMxId-Parameter ist ein Hilfsgerätebezeichner im Bereich von null bis eins kleiner als die Anzahl der Geräte, die von der auxGetNumDevs-Funktion zurückgegeben werden.
MIXER_OBJECTF_HMIDIIN Der Parameter uMxId ist das Handle eines MIDI-Eingabegeräts. Dieses Handle muss von der midiInOpen-Funktion zurückgegeben worden sein.
MIXER_OBJECTF_HMIDIOUT Der uMxId-Parameter ist das Handle eines MIDI-Ausgabegeräts. Dieses Handle muss von der midiOutOpen-Funktion zurückgegeben worden sein.
MIXER_OBJECTF_HMIXER Der uMxId-Parameter ist ein Mixergerätehandle, das von der MixerOpen-Funktion zurückgegeben wird. Dieses Flag ist optional.
MIXER_OBJECTF_HWAVEIN Der uMxId-Parameter ist ein Waveform-Audio-Eingabehandle, das von der waveInOpen-Funktion zurückgegeben wird.
MIXER_OBJECTF_HWAVEOUT Der uMxId-Parameter ist ein Waveform-Audioausgabehandle, das von der waveOutOpen-Funktion zurückgegeben wird.
MIXER_OBJECTF_MIDIIN Der uMxId-Parameter ist der Bezeichner eines MIDI-Eingabegeräts. Dieser Bezeichner muss sich im Bereich von 0 bis eins unter der Anzahl der Geräte befinden, die von der midiInGetNumDevs-Funktion zurückgegeben werden.
MIXER_OBJECTF_MIDIOUT Der uMxId-Parameter ist der Bezeichner eines MIDI-Ausgabegeräts. Dieser Bezeichner muss sich im Bereich von null bis eins unter der Anzahl der Geräte befinden, die von der midiOutGetNumDevs-Funktion zurückgegeben werden.
MIXER_OBJECTF_MIXER Der uMxId-Parameter ist ein Mixergerätebezeichner im Bereich von null bis eins kleiner als die Anzahl der Geräte, die von der mixerGetNumDevs-Funktion zurückgegeben werden. Dieses Flag ist optional.
MIXER_OBJECTF_WAVEIN Der uMxId-Parameter ist der Bezeichner eines Waveform-Audio-Eingabegeräts im Bereich von 0 bis eins kleiner als die Anzahl von Geräten, die von der waveInGetNumDevs-Funktion zurückgegeben werden.
MIXER_OBJECTF_WAVEOUT Der uMxId-Parameter ist der Bezeichner eines Waveform-Audioausgabegeräts im Bereich von 0 bis eins kleiner als die Anzahl von Geräten, die von der waveOutGetNumDevs-Funktion zurückgegeben werden.

Rückgabewert

Gibt MMSYSERR_NOERROR zurück, wenn erfolgreich oder andernfalls ein Fehler auftritt. Mögliche Fehlerwerte sind:

Rückgabecode Beschreibung
MMSYSERR_ALLOCATED
Die angegebene Ressource wird bereits durch die maximale Anzahl möglicher Clients zugeordnet.
MMSYSERR_BADDEVICEID
Der uMxId-Parameter gibt einen ungültigen Gerätebezeichner an.
MMSYSERR_INVALFLAG
Mindestens ein Flag ist ungültig.
MMSYSERR_INVALHANDLE
Der uMxId-Parameter gibt ein ungültiges Handle an.
MMSYSERR_INVALPARAM
Mindestens ein Parameter ist ungültig.
MMSYSERR_NODRIVER
Für das durch uMxId angegebene Objekt ist kein Mixergerät verfügbar. Beachten Sie, dass der Speicherort, auf den von uMxId verwiesen wird, auch den Wert –1 enthält.
MMSYSERR_NOMEM
Ressourcen können nicht zugeordnet werden.

Hinweise

Verwenden Sie die MixerGetNumDevs-Funktion , um die Anzahl der im System vorhandenen Audiomixergeräte zu bestimmen. Der durch uMxId angegebene Gerätebezeichner variiert von null bis 1 kleiner als die Anzahl der vorhandenen Geräte.

Wenn ein Fenster für den Empfang von Rückrufinformationen ausgewählt wird, werden die MM_MIXM_LINE_CHANGE - und MM_MIXM_CONTROL_CHANGE-Meldungen an die Fensterprozedurfunktion gesendet, um anzugeben, wann sich ein Audioleitungs- oder Steuerstatus ändert. Für beide Nachrichten ist der wParam-Parameter das Handle des Mixergeräts. Der lParam-Parameter ist der Zeilenbezeichner für MM_MIXM_LINE_CHANGE oder der Steuerelementbezeichner für MM_MIXM_CONTROL_CHANGE , der den Zustand geändert hat.

Verwenden Sie zum Abfragen der Audiomixerunterstützung oder eines Mediengeräts die MixerGetID-Funktion .

Auf 64-Bit-Systemen funktioniert diese Funktion möglicherweise nicht wie erwartet, wenn Sie einen 64-Bit-LPHWAVEOUT-Zeiger im uMxId-Parameter übergeben, da der uMxId-Parameter auf 32 Bit abgeschnitten wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mmeapi.h (Einschließen von Windows.h)
Bibliothek Winmm.lib
DLL Winmm.dll

Weitere Informationen

Audiomixerfunktionen

Audiomixer