SoundGet

检索音频设备的各种设置(主音量静音, 主音量等).

SoundGet, OutputVar , ComponentType, ControlType, DeviceNumber

参数

OutputVar

用来保存获取的设置的输出变量的名称, 该变量可以为一个介于 0 和 100(包含的) 之间的浮点数或单词 ON 或 OFF(仅用于控制器类型为 ONOFF, MUTE, MONO, LOUDNESS, STEREOENH 以及 BASSBOOST 的时候). 如果在获取设置时遇到问题, 则此变量会被置空. 浮点数的格式(例如它的小数位数) 由 SetFormat 决定.

ComponentType

如果为空或省略, 则它默认为 MASTER. 否则, 指定为下列单词的其中一个: MASTER(与 SPEAKERS 含义相同), DIGITAL, LINE, MICROPHONE, SYNTH, CD, TELEPHONE, PCSPEAKER, WAVE, AUX, ANALOG, HEADPHONES 或 N/A. 如果音频设备缺少指定的组件类型, 则 ErrorLevel 会表明此问题.

在某些混音器中标为 Auxiliary 的组件可能需要作为 ANALOG 而不是 AUX 进行访问.

如果一个设备含有同种组件类型的多个实例(例如两个 LINE 类型), 那么通常首个包含播放设置, 第二个包含录制设置. 要访问首个实例外的其他实例, 请在此参数后加上冒号和数字. 例如, Analog:2 表示 analog 组件的第二个实例.

ControlType

如果为空或省略, 则它默认为 VOLUME. 否则, 指定为下列单词的其中一个: VOLUME(或 VOL), ONOFF, MUTE, MONO, LOUDNESS, STEREOENH, BASSBOOST, PAN, QSOUNDPAN, BASS, TREBLE, EQUALIZER 或表示有效的控制器类型数字(请参阅声卡分析脚本). 如果指定的组件类型没有指定的控制器类型, 则 ErrorLevel 会表明此问题.

注意: 音频设备通常仅支持 VOLUME(或VOL) 和 MUTE, 不过根据 Windows 和音频设备的不同还可能支持其他.

DeviceNumber

如果为空或省略, 则它默认为 1(首个音频设备), 在 Windows Vista 及更高版本中, 则为系统默认的录制和播放设备. 否则, 指定介于 1 和支持设备总数之间的数字. 此参数可以为表达式. 声卡分析脚本有助于确定要使用的编号.

错误处理

[v1.1.04+]: 此命令失败时会抛出异常. 想了解更多信息, 请参阅运行时错误.

命令执行成功时 ErrorLevel 被设置为 0. 否则, 它会被设置为下列短语的其中一个:

备注

[v1.1.10+] 中, 命令支持 Windows Vista 及更高版本的系统.

要找出安装在系统上的音频设备(混音器) 的功能(例如可用的组件类型和控制器类型), 请运行声卡分析脚本.

与音频设备相关的更多功能和细微控制, 考虑使用 VA 库.

使用 SoundSet 来改变设置.

SoundSet, SoundGetWaveVolume, SoundSetWaveVolume, SoundPlay

示例

检索并报告主音量.

SoundGet, master_volume
MsgBox, Master volume is %master_volume% percent.

检索并报告主音量的静音设置.

SoundGet, master_mute,, Mute
MsgBox, Master mute is currently %master_mute%.

如果可能的话, 检索并报告主音量, 否则会显示错误信息.

SoundGet, bass_level, Master, Bass
if ErrorLevel
    MsgBox, Error description: %ErrorLevel%
else
    MsgBox, The BASS level for MASTER is %bass_level% percent.

检索麦克风静音设置. 如果麦克风没有静音, 则会显示一个消息框.

SoundGet, microphone_mute, Microphone, Mute
if (microphone_mute = "Off")
    MsgBox, The microphone is not muted.