从音频设备中获取多种设置 (主静音, 主音量, 等等)
SoundGet, OutputVar [, ComponentType, ControlType, DeviceNumber]
OutputVar | 用来保存获取的设置的变量名称, 可以是一个在 0 到 100 (包含的)之间的浮点数或者单词 ON 或 OFF (仅在 ControlTypes/控制类型 为 ONOFF, MUTE, MONO, LOUDNESS, STEREOENH, 或 BASSBOOST 时使用). 如果在获取设置时遇到问题, 变量将被置空. 浮点数的格式, 比如它的小数位数, 由 SetFormat 命令决定. |
ComponentType | 如果省略或为空, 默认值为单词 MASTER. 否则, 它可以是下列单词的其中一个: MASTER (与 SPEAKERS 含义相同), DIGITAL, LINE, MICROPHONE, SYNTH, CD, TELEPHONE, PCSPEAKER, WAVE, AUX, ANALOG, HEADPHONES, 或 N/A. 如果音频设备缺少指定的 ComponentType/组件类型, ErrorLevel 将表明有问题. 在某些混音器中标为 Auxiliary 的组件可能需要作为 ANALOG 而不是 AUX 进行访问. 如果一个设备含有同种 组件类型 的多个实例(例如两种类型的 LINE), 通常首个包含播放设置, 第二个包含录制设置. 要访问首个实例外的其他实例, 在该参数后附加一个冒号和数字. 例如: Analog:2 表示 analog 组件的第二个实例. |
ControlType | 如果省略或为空, 默认值为 VOLUME. 否则, 它可以是下列单词的其中一个: VOLUME (或 VOL), ONOFF, MUTE, MONO, LOUDNESS, STEREOENH, BASSBOOST, PAN, QSOUNDPAN, BASS, TREBLE, EQUALIZER, 或者是有效的控制器类型的数字 (请看 声卡分析脚本). 如果指定的 组件类型 缺少指定的 控制类型, ErrorLevel 将表明有问题. |
DeviceNumber | 如果省略此参数, 默认值为 1 (第一个音频设备), 通常是系统默认的录制和播放设备.可以通过指定一个大于 1 的数字来操作其他的音频设备. 此参数可以是一个 表达式. |
如果命令成功执行 ErrorLevel 被设置为 0.否则它被设置为下列短语的其中一个:
Invalid Control Type or Component Type |
Can't Open Specified Mixer |
Mixer Doesn't Support This Component Type |
Mixer Doesn't Have That Many of That Component Type |
Component Doesn't Support This Control Type |
Can't Get Current Setting |
在 Windows Vista 或更高版本的系统上, SoundGet 命令获取脚本自己的设置, 而不是活动窗口的. 此问题可能会在未来的版本中解决. 要绕弯解决此问题, 在 "AutoHotkey.exe" (或 已编译脚本)文件的属性对话框中, 改变兼容性设置为 "Windows XP".
为了发现安装在系统上的音频设备 (混音器) 的功能 -- 例如可用的组件类型和控制类型 -- 请运行 声卡分析脚本.
使用 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.