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 |
---|---|
|
Die angegebene Ressource wird bereits durch die maximale Anzahl möglicher Clients zugeordnet. |
|
Der uMxId-Parameter gibt einen ungültigen Gerätebezeichner an. |
|
Mindestens ein Flag ist ungültig. |
|
Der uMxId-Parameter gibt ein ungültiges Handle an. |
|
Mindestens ein Parameter ist ungültig. |
|
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. |
|
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 |