DirectSound 擷取效果

DirectSound 8 新增一些新功能,以在音訊擷取期間啟用及控制協力廠商效果。 此和更新版本的 DirectSound 支援下列兩個擷取效果:

  • 聲場回應取消 (AEC)

  • 雜訊抑制 (NS)

在電話會議之類的全雙工音訊應用程式中,會在產生擷取資料流程的麥克風中挑選透過喇叭輸出的轉譯串流回應。 在描述會議室或其他實體環境中的音效反映之後,全雙工系統會使用 AEC 來監視轉譯資料流程,以取消它新增至擷取資料流程的回應。 系統可以使用 NS 來偵測雜訊尖峰,並將它們從資料流程中移除,進一步改善擷取資料流程的品質。

全雙工 DirectSound 應用程式可以使用 IDirectSoundCaptureFXAecIDirectSoundCaptureFXNoiseSuppress 介面來控制 AEC 和 NS 效果。 IDirectSoundCaptureBuffer::GetObjectInPath方法會擷取具有這些介面之物件的指標。 DirectSoundFullDuplexCreate函式會建立IDirectSoundCaptureBuffer物件,而呼叫端傳遞至此函式的參數包含 DSCEFFECTDESC 結構的陣列。 陣列會指定要在擷取緩衝區中啟用的效果。 陣列中每個結構的 guidDSCFXClass 成員包含指定效果的 GUID:AEC 或 NS。 下表顯示每個 GUID 的 DirectSound 名稱,以及相同 GUID 值的 KS 名稱。 如需詳細資訊,請參閱 DirectX 8.0 SDK 檔。

DirectSound GUID 名稱 KS GUID 名稱

GUID_DSCFX_CLASS_AEC

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

GUID_DSCFX_CLASS_NS

KSNODETYPE_NOISE_SUPPRESS

在 Microsoft Windows XP 和更新版本中,您可以將音訊裝置的硬體加速擷取效果公開至 DirectSound 應用程式。 此外,AEC 系統篩選 (Aec.sys) 提供 AEC 和 NS 效果的軟體模擬。

本節其餘部分將討論這些主題:

公開Hardware-Accelerated擷取效果

AEC 系統篩選準則