SoundGet

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

SoundGet[編集]

サウンドデバイスの各種設定を取得

SoundGet, OutputVar [, ComponentType, ControlType, DeviceNumber]

Parameters[編集]

引数名 説明
OutputVar 取得した値を格納する変数名。
音量は0~100の間の小数の値が格納される。(SetFormatに依存)
ComponentType 以下のどれか。
  • MASTER(デフォルト)
  • DIGITAL
  • LINE
  • MICROPHONE
  • SYNTH
  • CD
  • TELEPHONE
  • PCSPEAKER
  • WAVE
  • AUX
  • ANALOG
  • HEADPHONES
  • N/A

デバイスが存在しない場合、ErrorLevelにその旨を示す文字列が代入される。
同じ種類のものが複数あるときは ANALOG:2のように指定することで、2つ目以降のデバイスを指定できる。
多くの場合、1番目が出力、2番目が入力用デバイスである。

ControlType
  • VOLUME(デフォルト)
  • ONOFF
  • MUTE
  • MONO
  • LOUDNESS
  • STEREOENH
  • BASSBOOST
  • PAN
  • QSOUNDPAN
  • BASS
  • TREBLE
  • EQUALIZER

その設定が存在しない場合、ErrorLevelにその旨を示す文字列が代入される。
番号で指定することもできる。

DeviceNumber デバイス番号。
デフォルトは 1
数値の指定には を用いることが可能。

ErrorLevel[編集]

AHKL [v1.1.04+] このコマンドは失敗した場合に例外をスローすることができる。詳細は実行時エラーを参照。

成功した場合 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 現在の設定を取得することはできません。
Can't Change Setting 設定は変更できません。

Remarks[編集]

Vista以降では音量の管理の仕組みが変更されたため、このコマンドは意図通りに動作しない。
Windows Vistaおよびそれ以降のサポートはv1.1.10で追加された。

OutputVarには、ControlTypeが ONOFF MUTE MONO LOUDNESS STEREOENH BASSBOOSTの場合 ONOFF、それ以外の場合は0...100の小数が代入される。
小数のフォーマットはSetFormatで設定できる。
取得に失敗したら空になる。

ComponentTypeやControlTypeに指定可能な値を調査する方法は、SoundSetサウンド解析スクリプトを参照。

外部ライブラリの Vista Audio Control Functions を利用することで SoundSet/Get の機能を置き換え、より多くの機能とオーディオをより詳細に制御することが可能である。

現在の設定値を変更するには SoundSet を使用する。

Related[編集]

SoundSet, SoundGetWaveVolume, SoundSetWaveVolume, SoundPlay

Example(s)[編集]

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 <> 0
  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.