SysTray 和 SndVol32

SndVol32 程序(Sndvol32.exe)控制各种声源(如波形、CD 和合成器)和主音量设置的音量设置。 SndVol32 程序表示为扬声器图标,该图标显示在系统托盘通知区域中的任务栏,该任务栏默认显示在 Windows 屏幕的右下角。

SysTray 程序(Systray.exe)负责在打开扬声器图标时显示扬声器图标,并在关闭扬声器图标时隐藏扬声器图标。 在 Windows XP 中,扬声器图标默认处于隐藏状态。 在所有其他 Windows 版本(包括 Windows XP SP1)中,扬声器图标默认可见。

在 Windows XP 中,按照以下步骤在任务栏上显示扬声器图标:

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

  2. “卷”选项卡上,选择任务栏中检查框中的“放置卷”图标。

如果声音卡音量级别可以在软件控制下更改,则任务栏上会显示一个扬声器图标。 可以通过单击该图标并调整音量滑块来更改主卷设置。

登录时,SysTray 会查询音频驱动程序,以获取带有MIXERLINE_COMPONENTTYPE_DST_SPEAKERS(扬声器目标)或MIXERLINE_COMPONENTTYPE_DST_HEADPHONES(耳机目标)组件类型的混音器线路,以确定是否应显示扬声器图标。 如果未找到这两种组件类型,SysTray 不会显示扬声器图标。 如果找到该行,它会查询该行以确定它是否包含静音控件。 SysTray 通过在内部存储 行 ID 并将 控制 ID 静音以供将来参考,从而完成其登录时间混音器线处理。

SndVol32 程序还提供用于控制系统中所有卷控件的用户界面。 当用户双击系统托盘中的扬声器图标(或只是运行Sndvol32.exe),SndVol32 将显示一个“主音量”窗口,其中包含用于控制主音量级别和各种声源上的音量级别的滑块。 在这种情况下,SndVol32 使用不同的算法来确定它显示的内容。 对于主卷滑块,它会在“master”目标上查找第一个卷控件(例如,编号为零的目标)。 这通常是扬声器目标。

当 SndVol32 运行时,它会查询混音器线驱动程序,查找它所了解的一组控件。 若要显示滑块面板,SOURCE 行应至少有以下控件之一:

  • 音量控制

  • 静音控件

  • 高级控制(AGC、低音或高音)

如果未找到这些控件,则 SndVol32 不会显示面板。 仅作为无控件的 MUX 的一部分的源行不足以显示。 通过将假 MUTE 控件插入拓扑来让面板显示,可以轻松规避此限制。 当行仅馈送到 MUX 中时, 为 MUX 显示的“选择 ”框会隐藏 MUTE 控件。

SndVol32 不会显示未很好地映射到混音器线控件的 WDM 音频拓扑节点。 有关 将哪些节点转换为混音器线控件的详细信息,请参阅拓扑节点 。 WDM 混音器线驱动程序将某些节点转换为控件,但 SndVol32 仅显示它知道的控件集。

有关不同版本的 Windows 中的音量范围和默认音量级别的信息,请参阅默认音频音量设置