共用方式為


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 。 可能的錯誤值包括下列專案。

傳回碼 描述
MMSYSERR_ALLOCATED
指定的資源已由可能的用戶端數目上限來配置。
MMSYSERR_BADDEVICEID
uMxId參數會指定不正確裝置識別碼。
MMSYSERR_INVALFLAG
一或多個旗標無效。
MMSYSERR_INVALHANDLE
uMxId參數會指定不正確控制碼。
MMSYSERR_INVALPARAM
一或多個參數無效。
MMSYSERR_NODRIVER
uMxId所指定的物件沒有混合器裝置可用。 請注意, uMxId 所參考的位置也會包含 –1 值。
MMSYSERR_NOMEM
無法配置資源。

備註

使用 混音器GetNumDevs 函式來判斷系統中存在的音訊混音器裝置數目。 uMxId指定的裝置識別碼會從零到一個小於存在的裝置數目。

如果選擇視窗接收回呼資訊, 則會將MM_MIXM_LINE_CHANGEMM_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

另請參閱

音訊混音器函式

音訊混音器