Share via


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
MMSYSERR_ALLOCATED
La risorsa specificata è già allocata dal numero massimo di client possibili.
MMSYSERR_BADDEVICEID
Il parametro uMxId specifica un identificatore di dispositivo non valido.
MMSYSERR_INVALFLAG
Uno o più flag non sono validi.
MMSYSERR_INVALHANDLE
Il parametro uMxId specifica un handle non valido.
MMSYSERR_INVALPARAM
Uno o più parametri non sono validi.
MMSYSERR_NODRIVER
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.
MMSYSERR_NOMEM
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

Vedi anche

Funzioni del mixer audio

Mixer audio