共用方式為


XAudio2 語音

XAudio2 語音物件有三種類型:來源副混音,以及 主控 語音。 來源語音會在用戶端所提供的音訊數據上運作。 來源和副混音會將其輸出傳送至一或多個副混音或主控語音。 副混音和主控語音會混合所有語音的音訊,並針對結果運作。 主控語音會將音訊數據寫入音訊裝置。

所有語音執行的動作

所有語音都會針對透過音訊移動的音訊執行下列動作。

  1. 整體音量調整,影響所有音訊通道。 請參閱 IXAudio2Voice::SetVolume
  2. 選擇性用戶端指定的一或多個 DSP 效果鏈結,例如 IXAPO 介面所定義的內建殘響或使用者效果。 請參閱 XAudio2 音訊效果
  3. 每個通道輸出量調整。 請參閱 IXAudio2Voice::SetChannelVolumes
  4. 將矩陣混合到每個目的地語音或用於主控語音的音訊輸出裝置。 如有必要,這種混合會變更音訊中的通道數目。

來源語音

使用來源語音將音訊數據提交至 XAudio2 處理管線。 它們是 XAudio2 音訊圖形 的進入點。 您必須直接或透過中繼副混音語音,將語音數據傳送至主控語音。

除了所有語音所執行的動作之外,來源語音也會執行下列動作。

  • 如有必要,譯碼器會先執行,將編碼的源數據轉換成 Pulse Code Encode (PCM)。
  • 可變速率取樣率轉換 (SRC) 會視需要,將語音的來源音訊數據轉換成目的地語音預期的取樣率,並支援動態音調變更。
  • 選擇性狀態變數篩選條件可用來以各種方式為音效著色。 請參閱 IXAudio2Voice::SetFilterParameters
  • 選擇性篩選條件可以套用至語音的輸出。 請參閱 IXAudio2Voice::SetOutputFilterParameters

副混音語音

副混音主要用於效能改善和效果處理。 您無法直接將數據緩衝區提交至副混音。 除非您將它提交到主控聲音,否則不會聽到。 您可以使用副混音來確保特定一組語音數據會轉換成相同的格式,並在集體結果上處理特定的效果鏈結。

除了所有語音所執行的動作之外,副混音語音也會執行下列動作。

主控語音

使用主控語音來代表音訊輸出裝置。 您無法將數據緩衝區直接提交至主控語音,但提交至其他類型的語音的數據必須移至要聽到的主控語音。

除了所有語音所執行的動作之外,主控語音也會執行下列動作。

  • 如果您使用音訊裝置不支援的明確 InputSampleRate 值來建立主控語音,則會使用固定速率 SRC 轉換成裝置支援的最接近取樣率。
  • 如果輸出裝置需要,請裁剪最終輸出音訊。

語音

XAudio2 程式設計手冊

IXAudio2SourceVoice

IXAudio2SubmixVoice

IXAudio2MasteringVoice