专有的 Speaker-Configuration 实用程序

注意 此信息适用于 Windows XP 和更早版本的操作系统。 从 Windows Vista 开始,IDirectSound::GetSpeakerConfigIDirectSound::SetSpeakerConfig 已弃用。

硬件供应商偶尔会提供专有的扬声器配置实用工具,以便将其音频驱动程序用于控制面板中的扬声器对话框。 此类实用工具存在潜在问题:它们有时会以无法通知 Windows 的专有方式更改扬声器配置。 如果专有实用工具中的设置与控制面板中的设置不匹配,这可能会导致用户体验不佳。 如果你认为设备需要专有实用工具,则应执行以下步骤将实用工具与 Windows 集成:

  1. 在驱动程序中实现支持 KSPROPERTY_AUDIO_CHANNEL_CONFIG 属性的 DAC 节点。 通过此节点,Windows 会立即通知驱动程序控制面板用户所做的更改。

  2. 设计配置实用工具以通过调用 DirectSound 方法 GetSpeakerConfigSetSpeakerConfig 来管理扬声器配置。

SetSpeakerConfig 调用通知 DirectSound(和 Windows)对扬声器配置所做的更改。 此外,实用工具的初始化代码应调用 GetSpeakerConfig,以确定用户是否已通过控制面板更改任何设置。 如果是这样,该实用工具应在其用户界面中反映这些更改。

如果设备支持没有精确 Windows 等效项的多通道格式,则配置实用工具应执行以下操作:

  • 当更改为没有精确 Windows 等效项的扬声器配置时,请使用最近的 Windows 等效项调用 SetSpeakerConfig。 这是对配置驱动程序所需的任何专有调用的补充。

  • 当更改为具有精确 Windows 等效项的扬声器配置时,请调用 SetSpeakerConfig 以更新扬声器模式。

如果使 Windows 更了解设备的功能,DirectSound 可以启用某些无法启用的功能(例如多通道 3D 平移)。