共用方式為


DirectSound Node-Ordering 需求

DirectSound 2D 或 3D 混音器針腳應該具有包含下列節點序列的節點鏈結:

此清單中的節點會依串流到釘選的順序顯示。 如果保留上述順序,其他節點可以在這些節點之間交錯,而不會造成問題。

2D 針腳需要上一個清單中的所有節點,但 3D 節點除外,這是選擇性的。 3D 針腳需要清單中的所有節點,包括 3D 節點。

SRC (取樣率轉換) 節點應位於 SUM 節點之前。 SRC 和 SUM 節點通常是連續的,但這不是必要專案。 IDirectSoundBuffer::SetFrequency方法 (請參閱Microsoft Windows SDK檔) 反轉 SRC 節點的重新取樣速率。

只包含 SRC 和 SUM 節點的混音器足以混合系統驅動程式所管理的資料流程,例如 SWMidi 和 Redbook (請參閱 SWMidi System DriverRedbook System Driver) ,但 DirectSound 還需要兩個磁片區節點和 SUM 節點之前的超混音器節點。 DirectSound 會將 IDirectSoundBuffer::SetVolume 呼叫所產生的磁片區變更傳送至第一個磁片區節點,並從 IDirectSoundBuffer::SetPan 呼叫傳送移動流覽效果至第二個磁片區節點。

DirectSound 可以使用 SetVolumeSetPanSetFrequency 呼叫,在 2D 針腳上產生 3D 效果,以控制磁片區和 SRC 節點:

  • SetVolume 呼叫可以模擬來自接聽程式之音效來源距離的變更。

  • SetPan 呼叫可以模擬相對於接聽程式之音效來源方向的變更。

  • SetFrequency 呼叫可以模擬 Doppler 效果和 HRDF (前端相關的傳輸函式) 。

超混音器節點是一個交叉橫條矩陣,會將 M 輸入通道連接到 N 個輸出通道,其中 N 應該等於裝置最終輸出資料流程中的通道數目。

需要選用的 3D 節點來管理硬體加速 3D 效果 (請參閱 支援 WDM 音訊) 中的 3D DirectSound 加速 ,但軟體模擬的 3D 處理並不需要。 大部分現有的實作會將 3D 節點放在 SRC 節點之前,以及第一個磁片區節點與超混音器節點之間,但可能會有其他設定。

3D 節點的輸入資料流程通常包含單一通道。 在 DirectSound 8.0 和更新版本中,只有單一 PCM 緩衝區可以使用 3D 效果來建立。 不過,舊版 DirectSound 同時支援單聲道和立體輸入資料流程的 3D 節點,而驅動程式應該同時支援這兩者,以確保與較舊的應用程式相容。