AECMicArray
此示例使用核心音频 API 来捕获高质量语音流。 通过使用 Microsoft 提供的 AEC DMO(也称为语音捕获 DSP),该样本支持声学回声消除 (AEC) 和麦克风阵列处理。
本主题包含以下各节。
说明
此示例演示了以下功能。
- 用于多媒体设备枚举和选择的 MMDevice。
- WASAPI 用于流管理操作,如启动和停止流、流切换。
- 用于枚举音频适配器的 DeviceTopology。
- EndpointVolume 控制音频会话的音量水平。
要求
产品 | 版本 |
---|---|
Windows SDK | Windows Vista 或更高版本 |
Visual Studio | 2005(非快速版本) |
下载示例
此样本在以下位置提供。
位置 | 路径/URL |
---|---|
Windows SDK | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\AECMicArray\... |
生成示例
要生成 AecSDKDemo 示例,请执行以下步骤:
打开 SDK 命令窗口。
键入 cd %MSSDK%\Setup。
运行 VCIntegrate.exe。
从现在起,命令窗口将拥有适当的环境设置,以便利用 SDK 来生成应用程序。
生成示例。
运行示例
如果成功生成演示应用程序,就会生成一个可执行文件 AecSDKDemo.exe。 要运行它,请在命令窗口中键入 AecSDKDemo
,然后输入下文所述的必要或可选参数。
AecSDKDemo -out mic_out.pcm -mod system_mode [-option value]
下表列出了参数。
参数 | 说明 |
---|---|
-out | 必需。 指定输出文件名。 |
-mod | 必需。 指定语音捕获系统模式。 有关详细信息,请参阅样本自述文件中的“配置语音捕获 DMO”部分。 |
-feat | 可选。 打开 (1) 或关闭 (0) 功能模式。 |
-ns | 可选。 打开 (1) 或关闭 (0) 的噪音抑制。 必须开启功能模式才能进行指定。 |
-agc | 可选。 打开 (1) 或关闭 (0) 数字 AGC。 必须开启功能模式才能进行指定。 |
-cntrclip | 可选。 打开 (1) 或关闭 (0) 中心剪切。 必须开启功能模式才能进行指定。 |
-spkdev | 可选。 指定扬声器设备索引。 如果未指定,系统将要求用户进行选择。 |
-micdev | 可选。 指定麦克风设备索引。 如果未指定,系统将要求用户进行选择。 |
-duration | 可选。 指定应用程序的运行时间。 |
此示例应用程序不播放任何信号。 要在启用 AEC 的模式(模式 0 和 4)下正常运行演示,用户必须通过为 DMO 指定的相同扬声器设备(即“-spkdev”选项指定的设备)播放一些音频信号,以模拟双向聊天场景中的远端语音。 用户可以使用任何播放器播放任何音频信号。 如果所选扬声器设备上没有处于活动状态的呈现流,则 DMO 将无法处理。
相关主题