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 無效,也就是 IXAudio2EngineCallback 或 IXAudio2VoiceCallback) 。 如果您在回呼內呼叫 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 |