mixerOpen 函式 (mmeapi.h)
混音器Open函式會開啟指定的混音器裝置,並確保在應用程式關閉控制碼之前,不會移除裝置。
語法
MMRESULT mixerOpen(
LPHMIXER phmx,
UINT uMxId,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
參數
phmx
將接收識別已開啟混合器裝置之控制碼的變數指標。 使用此控制碼在呼叫其他音訊混音器函式時識別裝置。 此參數不可為 Null。
uMxId
要開啟的混音器裝置識別碼。 使用有效的裝置識別碼或任何 HMIXEROBJ (請參閱 mixGetID 函式,以取得混合器物件控點的描述) 。 音訊混音器裝置的「mapper」 目前不存在,因此 -1 的混音器裝置識別碼無效。
dwCallback
當開啟的裝置相關聯的音訊線和/或控制項狀態變更時,所呼叫的視窗控制碼。 如果未使用回呼機制,請為此參數指定 Null 。
dwInstance
保留的。 必須為零。
fdwOpen
用來開啟裝置的旗標。 定義下列值。
值 | 意義 |
---|---|
CALLBACK_WINDOW | dwCallback參數假設為 (HWND) 的視窗控制碼。 |
MIXER_OBJECTF_AUX | uMxId參數是零到一個小於auxGetNumDevs函式所傳回之裝置數目的輔助裝置識別碼。 |
MIXER_OBJECTF_HMIDIIN | uMxId參數是 MIDI 輸入裝置的控制碼。 midiInOpen函式必須傳回此控制碼。 |
MIXER_OBJECTF_HMIDIOUT | uMxId參數是 MIDI 輸出裝置的控制碼。 midiOutOpen函式必須傳回此控制碼。 |
MIXER_OBJECTF_HMIXER | uMxId參數是混合器Open函式所傳回的混音器裝置控制碼。 此旗標是選擇性的。 |
MIXER_OBJECTF_HWAVEIN | uMxId參數是waveInOpen函式所傳回的波浪音訊輸入控制碼。 |
MIXER_OBJECTF_HWAVEOUT | uMxId參數是waveOutOpen函式所傳回的波浪音訊輸出控制碼。 |
MIXER_OBJECTF_MIDIIN | uMxId參數是 MIDI 輸入裝置的識別碼。 此識別碼的範圍必須小於 midiInGetNumDevs 函式所傳回的裝置數目。 |
MIXER_OBJECTF_MIDIOUT | uMxId參數是 MIDI 輸出裝置的識別碼。 此識別碼的範圍必須小於 midiOutGetNumDevs 函式所傳回的裝置數目。 |
MIXER_OBJECTF_MIXER | uMxId參數是混合器裝置識別碼,範圍介於零到一個小於混合器GetNumDevs函式所傳回的裝置數目。 此旗標是選擇性的。 |
MIXER_OBJECTF_WAVEIN | uMxId參數是零到一個小於waveInGetNumDevs函式所傳回之裝置數目的波訊音訊輸入裝置識別碼。 |
MIXER_OBJECTF_WAVEOUT | uMxId參數是零到一個小於waveOutGetNumDevs函式所傳回之裝置數目的波訊音訊輸出裝置識別碼。 |
傳回值
如果成功或發生錯誤,則傳回 MMSYSERR_NOERROR 。 可能的錯誤值包括下列專案。
傳回碼 | 描述 |
---|---|
|
指定的資源已由可能的用戶端數目上限來配置。 |
|
uMxId參數會指定不正確裝置識別碼。 |
|
一或多個旗標無效。 |
|
uMxId參數會指定不正確控制碼。 |
|
一或多個參數無效。 |
|
uMxId所指定的物件沒有混合器裝置可用。 請注意, uMxId 所參考的位置也會包含 –1 值。 |
|
無法配置資源。 |
備註
使用 混音器GetNumDevs 函式來判斷系統中存在的音訊混音器裝置數目。 uMxId指定的裝置識別碼會從零到一個小於存在的裝置數目。
如果選擇視窗接收回呼資訊, 則會將MM_MIXM_LINE_CHANGE 和 MM_MIXM_CONTROL_CHANGE 訊息傳送至視窗程式函式,以指出音訊線或控制項狀態何時變更。 對於這兩則訊息, wParam 參數是混合器裝置的控制碼。 lParam參數是MM_MIXM_LINE_CHANGE的行識別碼,或變更狀態之MM_MIXM_CONTROL_CHANGE的控制識別碼。
若要查詢音訊混音器支援或媒體裝置,請使用 混音器GetID 函式。
在 64 位系統上,當您在uMxId參數中傳遞 64 位LPHWAVEOUT指標時,此函式可能無法如預期般運作,因為uMxId參數會截斷為 32 位。
需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mmeapi.h (包含 Windows.h) |
程式庫 | Winmm.lib |
Dll | Winmm.dll |