funzione mixerOpen (mmeapi.h)
La funzione mixerOpen apre un dispositivo mixer specificato e garantisce che il dispositivo non venga rimosso finché l'applicazione chiude l'handle.
Sintassi
MMRESULT mixerOpen(
LPHMIXER phmx,
UINT uMxId,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
Parametri
phmx
Puntatore a una variabile che riceverà un handle che identifica il dispositivo mixer aperto. Usare questo handle per identificare il dispositivo quando si chiamano altre funzioni del mixer audio. Questo parametro non può essere NULL.
uMxId
Identificatore del dispositivo mixer da aprire. Usare un identificatore di dispositivo valido o qualsiasi HMIXEROBJ (vedere la funzione mixerGetID per una descrizione degli handle degli oggetti mixer). Un "mapper" per i dispositivi mixer audio non esiste attualmente, quindi un identificatore del dispositivo mixer di -1 non è valido.
dwCallback
Handle in una finestra chiamata quando viene modificato lo stato di una riga audio e/o di un controllo associato al dispositivo aperto. Specificare NULL per questo parametro se non viene usato alcun meccanismo di callback.
dwInstance
Riservato. Deve essere zero.
fdwOpen
Contrassegni per l'apertura del dispositivo. I valori seguenti sono definiti.
Valore | Significato |
---|---|
CALLBACK_WINDOW | Si presuppone che il parametro dwCallback sia un handle di finestra (HWND). |
MIXER_OBJECTF_AUX | Il parametro uMxId è un identificatore di dispositivo ausiliario nell'intervallo di zero a uno minore del numero di dispositivi restituiti dalla funzione auxGetNumDevs . |
MIXER_OBJECTF_HMIDIIN | Il parametro uMxId è l'handle di un dispositivo di input MIDI. Questo handle deve essere stato restituito dalla funzione midiInOpen . |
MIXER_OBJECTF_HMIDIOUT | Il parametro uMxId è l'handle di un dispositivo di output MIDI. Questo handle deve essere stato restituito dalla funzione midiOutOpen . |
MIXER_OBJECTF_HMIXER | Il parametro uMxId è un handle del dispositivo mixer restituito dalla funzione mixerOpen . Questo flag è facoltativo. |
MIXER_OBJECTF_HWAVEIN | Il parametro uMxId è un handle di input waveform-audio restituito dalla funzione waveInOpen . |
MIXER_OBJECTF_HWAVEOUT | Il parametro uMxId è un handle di output waveform-audio restituito dalla funzione waveOutOpen . |
MIXER_OBJECTF_MIDIIN | Il parametro uMxId è l'identificatore di un dispositivo di input MIDI. Questo identificatore deve trovarsi nell'intervallo di zero a uno inferiore al numero di dispositivi restituiti dalla funzione midiInGetNumDevs . |
MIXER_OBJECTF_MIDIOUT | Il parametro uMxId è l'identificatore di un dispositivo di output MIDI. Questo identificatore deve essere compreso nell'intervallo di zero a uno inferiore al numero di dispositivi restituiti dalla funzione midiOutGetNumDevs . |
MIXER_OBJECTF_MIXER | Il parametro uMxId è un identificatore di dispositivo mixer nell'intervallo di zero a uno inferiore al numero di dispositivi restituiti dalla funzione mixerGetNumDevs . Questo flag è facoltativo. |
MIXER_OBJECTF_WAVEIN | Il parametro uMxId è l'identificatore di un dispositivo di input waveform-audio nell'intervallo di zero a uno minore del numero di dispositivi restituiti dalla funzione waveInGetNumDevs . |
MIXER_OBJECTF_WAVEOUT | Il parametro uMxId è l'identificatore di un dispositivo di output waveform-audio nell'intervallo di zero a uno inferiore al numero di dispositivi restituiti dalla funzione waveOutGetNumDevs . |
Valore restituito
Restituisce MMSYSERR_NOERROR se ha esito positivo o un errore in caso contrario. I valori di errore possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
La risorsa specificata è già allocata dal numero massimo di client possibili. |
|
Il parametro uMxId specifica un identificatore di dispositivo non valido. |
|
Uno o più flag non sono validi. |
|
Il parametro uMxId specifica un handle non valido. |
|
Uno o più parametri non sono validi. |
|
Nessun dispositivo mixer è disponibile per l'oggetto specificato da uMxId. Si noti che la posizione a cui fa riferimento uMxId conterrà anche il valore -1. |
|
Impossibile allocare le risorse. |
Commenti
Usare la funzione mixerGetNumDevs per determinare il numero di dispositivi del mixer audio presenti nel sistema. L'identificatore del dispositivo specificato da uMxId varia da zero a uno inferiore al numero di dispositivi presenti.
Se una finestra viene scelta per ricevere informazioni di callback, i messaggi MM_MIXM_LINE_CHANGE e MM_MIXM_CONTROL_CHANGE vengono inviati alla funzione della routine della finestra per indicare quando cambia una riga audio o uno stato di controllo. Per entrambi i messaggi, il parametro wParam è l'handle del dispositivo mixer. Il parametro lParam è l'identificatore della riga per MM_MIXM_LINE_CHANGE o l'identificatore di controllo per MM_MIXM_CONTROL_CHANGE lo stato modificato.
Per eseguire query sul supporto del mixer audio o su un dispositivo multimediale, usare la funzione mixerGetID .
Nei sistemi a 64 bit questa funzione potrebbe non funzionare come previsto nelle situazioni in cui si passa un puntatore LPHWAVEOUT a 64 bit nel parametro uMxId , perché il parametro uMxId viene troncato a 32 bit.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | mmeapi.h (includere Windows.h) |
Libreria | Winmm.lib |
DLL | Winmm.dll |