DirectSound 硬件加速和 SRC 滑块

Windows 提供全局滑块控件,用于在系统范围内更改 DirectSound 性能。 这些滑块用于控制提供给 DirectSound 应用程序的硬件加速和采样率转换 (SRC) 质量。 对硬件加速和 SRC 滑块所做的更改在启动后仍会保留。

硬件加速和 SRC 设置只能通过直接最终用户操作进行更改。 没有 API 可用于从应用程序程序更改硬件加速或 SRC 设置。 此行为可提高稳定性,并阻止软件将音频系统置于不重新启动便无法将其移除的状态。

这些设置仅会影响 DirectSound 应用程序。 请注意,waveOut API 始终使用最佳 SRC 质量,而不考虑 DirectSound SRC 滑块的设置。 此外,在所有当前版本的 Windows 中,waveOut 应用程序无法在音频设备上使用硬件加速引脚,并且不受 DirectSound 硬件加速滑块设置的影响。 有关 Windows 多媒体 waveOut API 的详细信息,请参阅 Microsoft Windows SDK 文档。

例如,若要在 Windows 中找到 DirectSound 硬件加速和 SRC 滑块,请执行以下步骤:

  1. 在控制面板中,双击“声音和音频设备”图标(或只需运行 mmsys.cpl)。

  2. “音频”选项卡上,从“声音播放”列表中选择设备。

  3. 选择“高级”按钮。

  4. 选择“性能”选项卡。

此时,你应会看到两个分别标记为“硬件加速”“采样率转换质量”的滑块。

硬件加速滑块有四个设置,从左侧的“无”(级别 0)一直到右侧的“完全”(第三级)。 下表显示了这些设置代表的含义。

加速级别 设置名称 说明

0

仿真

强制仿真。

1

基本

禁用 DirectSound 辅助缓冲区的硬件加速。

2

Standard

启用 DirectSound 辅助缓冲区的硬件加速,但禁用特定于供应商的属性集扩展。

3

完全

启用 DirectSound 辅助缓冲区的硬件加速,并启用特定于供应商的属性集扩展。

仿真设置
上述仿真设置会强制 DirectSound 进入仿真模式。 在此模式下,DirectSound 应用程序的运行方式与不存在 DirectSound 驱动程序一样。 所有混合都是由 DirectSound 在用户模式下完成的,生成的音频数据通过 waveOut API 播放。 结果是延迟通常有显著增加。

基本设置
“基本”设置用于禁用 DirectSound 辅助缓冲区的硬件加速。 在此设置下,所有 DirectSound 应用程序就像没有可用的硬件加速一样运行,而不管正在使用的声卡的功能如何。 可以在测试期间使用此设置来模拟没有 DirectSound 加速的声卡。 使用没有 DirectSound 辅助缓冲区的硬件加速的适配器(例如 OPL)时,此设置的效果与“标准”设置相同。 在 Windows Server 2003 中,“基本”是默认设置。

标准设置
“标准”设置会启用 DirectSound 辅助缓冲区的硬件加速,但禁用特定于供应商的扩展,例如 EAX(Creative Technologies 的环境音频扩展),这些扩展通过 IKsPropertySet 接口公开为属性集(请参阅公开自定义音频属性集)。 在 Windows 2000 中,默认选择“标准”设置。

完整设置
“完全”设置会启用 DirectSound 辅助缓冲区的完全加速。 此设置还会为通过 IKsPropertySet 接口公开的特定于供应商的扩展启用属性集(请参阅公开自定义音频属性集)。 IKsPropertySet 扩展包含特定于供应商的硬件增强功能,例如 EAX。

如果用户将硬件加速或 SRC 设置调整为非默认值,DirectSound 将使用新设置而非默认值。