共用方式為


IXAudio2::CreateSubmixVoice 方法 (xaudio2.h)

建立並設定副混音。

語法

HRESULT CreateSubmixVoice(
  [out]          IXAudio2SubmixVoice        **ppSubmixVoice,
  [in]           UINT32                     InputChannels,
  [in]           UINT32                     InputSampleRate,
  [in]           UINT32                     Flags,
  [in]           UINT32                     ProcessingStage,
  [in, optional] const XAUDIO2_VOICE_SENDS  *pSendList,
  [in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain
);

參數

[out] ppSubmixVoice

成功時,傳回新 IXAudio2SubmixVoice 物件的指標。

[in] InputChannels

副混音輸入音訊數據中的通道數目。 InputChannels 必須小於或等於XAUDIO2_MAX_AUDIO_CHANNELS。

[in] InputSampleRate

副混音輸入音訊數據的取樣率。 此速率必須是XAUDIO2_QUANTUM_DENOMINATOR的倍數。 InputSampleRate 必須介於 XAUDIO2_MIN_SAMPLE_RATE 與 XAUDIO2_MAX_SAMPLE_RATE之間。

[in] Flags

指定副混音行為的旗標。 它可以是 0 或下列專案:

Description
XAUDIO2_VOICE_USEFILTER 此語音上應提供篩選效果。

[in] ProcessingStage

任意數位,指定當 XAudio2 引擎執行其他副混音時,此語音處理其他副混音的時間。 語音會在所有其他包含較小 ProcessingStage 值的語音以及包含較大 ProcessingStage 值的所有其他語音之前處理。 包含相同 ProcessingStage 值的語音會依任何順序處理。 副混音無法傳送至另一個較低或等於 ProcessingStage 值的副混音。 這可防止因為副混音循環而遺失音訊。

[in, optional] pSendList

XAUDIO2_VOICE_SENDS結構的指標,這些結構描述子混音的一組目的地語音。 如果 pSendList 為 NULL,傳送清單會預設為第一個主控語音所建立的單一輸出。

[in, optional] pEffectChain

描述子混音中使用的效果鏈結 之XAUDIO2_EFFECT_CHAIN 結構的指標。

傳回值

如果成功,則傳回S_OK;否則為錯誤碼。

如需 XAudio2 特定錯誤碼的描述,請參閱 XAudio2 錯誤 碼。

備註

副混音會接收一或多個來源或副混音的輸出。 他們會處理輸出,然後將它傳送至另一個副混音或主控語音。

副混音會在 pSendList 中執行從輸入取樣率到其輸出語音輸入速率的取樣率轉換。 如果您指定多個語音傳送,它們都必須有相同的輸入取樣率。

在主控語音存在之前,您無法建立任何來源或副混音,而且如果有任何來源或副混音仍然存在,就無法終結主控語音。

第一次建立時,副混音會處於啟動狀態。

XAudio2 會針對具有相同格式的語音使用內部記憶體共用器。 這表示,由於建立並終結更多語音,語音的記憶體配置會較不頻繁發生。 若要將 Just-In-Time 配置降到最低,標題可以建立預先所需的語音數目上限,然後視需要將其刪除。 然後,從 XAudio2 集區重複使用語音。 記憶體集區會系結至 XAudio2 引擎實例。 您可以藉由終結 XAudio2 物件並視需要重新建立 XAudio2 物件,以回收 XAudio2 引擎實例所使用的所有記憶體, (強制記憶體集區透過預先配置成長,必須視需要重新套用) 。

從回呼 (呼叫 CreateSubmixVoice 無效,也就是 IXAudio2EngineCallbackIXAudio2VoiceCallback) 。 如果您在回呼內呼叫 CreateSubmixVoice ,它會傳回XAUDIO2_E_INVALID_CALL。

傳遞pEffectChain 自變數的XAUDIO2_EFFECT_CHAIN,在 CreateSubmixVoice 順利完成之後就不再需要它內含的任何XAUDIO2_EFFECT_DESCRIPTOR資訊,而且可能會在呼叫 CreateSubmixVoice 之後立即刪除。

平臺需求

Windows 10 (XAudio2.9) ;Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)

規格需求

需求
目標平台 Windows
標頭 xaudio2.h

另請參閱

IXAudio2

XAudio2 取樣率轉換