AECMicArray
此範例會使用核心音訊 API 來擷取高品質的語音串流。 此範例支援聲場回音取消(AEC)和麥克風數位處理,方法是使用 Microsoft 提供的語音擷取DMO,也稱為語音擷取 DSP。
本主題包含下列各節。
描述
此範例示範下列功能。
- 多媒體裝置列舉和選取的MMDevice 。
- WASAPI 用於串流管理作業,例如啟動和停止數據流、數據流切換。
- 用來列舉音訊配接器的 DeviceTopology 。
- EndpointVolume 控制音訊會話的音量層級。
需求
Products | 版本 |
---|---|
Windows SDK | Windows Vista 或更新版本 |
Visual Studio | 2005 年 (非快速版本) |
下載範例
此範例可在下列位置取得。
Location | 路徑/URL |
---|---|
Windows SDK | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\AECMicArray\... |
建置範例
若要建置 AecSDKDemo 範例,請使用下列步驟:
開啟 SDK 命令視窗。
輸入 cd %MSSDK%\Setup。
執行VCIntegrate.exe。
從這一點開始,命令視窗將會有適當的環境設定,以建置利用 SDK 的應用程式。
建置 (Build) 範例。
執行範例
如果您成功建置示範應用程式,則會產生可執行檔AecSDKDemo.exe。 若要執行它,請在命令視窗中輸入 AecSDKDemo
,後面接著必要或選擇性的自變數,如下所示。
AecSDKDemo -out mic_out.pcm -mod system_mode [-option value]
下表顯示自變數。
Argument | 描述 |
---|---|
-out | 必要。 指定輸出檔名。 |
-國防部 | 必要。 指定語音擷取系統模式。 如需詳細資訊,請參閱範例自述檔中的<設定語音擷取 DMO>一節。 |
-壯舉 | 選擇性。 開啟功能模式 (1) 或關閉 (0)。 |
-Ns | 選擇性。 開啟 (1) 或關閉 (0) 的噪音抑制。 必須開啟功能模式,才能指定此功能。 |
-Agc | 選擇性。 開啟數位 AGC (1) 或關閉 (0)。 必須開啟功能模式,才能指定此功能。 |
-cntrclip | 選擇性。 將中央裁剪開啟 (1) 或關閉 (0)。 必須開啟功能模式,才能指定此功能。 |
-spkdev | 選擇性。 指定喇叭裝置索引。 如果未指定,系統會要求使用者選取 。 |
-micdev | 選擇性。 指定麥克風裝置索引。 如果未指定,系統會要求使用者選取 。 |
-時間 | 選擇性。 指定應用程式執行的時間長度。 |
此範例應用程式不會播放任何訊號。 若要正確執行已啟用 AEC 模式的示範(模式 0 和 4),使用者必須透過針對 DMO 指定的相同喇叭裝置播放一些音訊號(也就是 “-spkdev” 選項所指定的裝置),這會在雙向聊天案例中模擬遠端語音。 用戶可以使用任何播放機播放任何音訊號。 如果選取的喇叭裝置上沒有作用中的轉譯數據流,DMO 將無法處理。
相關主題