Blog型メモ帳 Ver.2019.08.20

ダラダラとそこはかとなく。Webメモ帳。日記。内容無し駄文。Wired思考アーカイブ。(1999/1/7~)

サウンドのボリュームをレジストリから設定する方法

レジストリを設定することで音量を調整する方法
使用OSはVirtual PC 2007上でセットアップされたWindows XP Professional SP2 JP
検証条件:OS標準の音量設定を使用する。ボリュームコントロールの音量を最大と最小にし、その場合のレジストリの変化を比較した。


【設定に必要なファイル】
変更項目は6箇所



[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings]

音量最大値
"マスタ音量"=hex:07,07

音量最小値
"マスタ音量"=hex:00,00


[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses\{6994AD04-93EF-11D0-A3CC-00A0C9223196}\##?#ISAPNP#TBA03B0#FFFFFFFF#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\#Wave\Device Parameters\Mixer\0\Controls\0]

音量最大値
"Channel0"=dword:0000ffff
"Channel1"=dword:0000ffff

音量最小値
"Channel0"=dword:00000000
"Channel1"=dword:00000000


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings]

音量最大値
"マスタ音量"=hex:07,07

音量最小値
"マスタ音量"=hex:00,00


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{6994AD04-93EF-11D0-A3CC-00A0C9223196}\##?#ISAPNP#TBA03B0#FFFFFFFF#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\#Wave\Device Parameters\Mixer\0\Controls\0]

音量最大値
"Channel0"=dword:0000ffff
"Channel1"=dword:0000ffff

音量最小値
"Channel0"=dword:00000000
"Channel1"=dword:00000000


 銑い鮟颪換える事で、ボリュームコントロールの音量が設定できた。他の音量を設定するには、その周辺のファイルを同様に変更する事で可能と推測される。
追記3
最終的な結論として、△世韻撚士未寮瀋蠅可能である。


追記
実際は△世韻琶儿慌椎?C-Mediaの他のサウンドユニットではそれだけだった。channelが2chなのは2chスピーカーだから?両方に出力値を設定できるのは、左右のスピーカーの強弱を付けれるようにするため?5.1chなどではスピーカーの数分だけ存在する?要確認。

追記2
ControlSet001とCurrentControlSetの違いについて
上記のサウンド関連のレジストリキーを例にしても、ControlSet001とCurrentControlSetには同じ内容を表すキーがそれぞれ存在している。実際、動作確認をすると、ControlSet001を変更し、再起動した場合ControlSet001とCurrentControlSetの両方が書き換えられる。その逆だと元の値に戻ってしまう。よって、ControlSet001が上位、CurrentControlSetが下位の存在であると推定される。また、MSなどのこの項目を扱ったページを読むと、ControlSet001で正常に動作した記録をCurrentControlSetに格納しておく?のではないかと推測される。
 今回の目的は、音量を常にMAXに保つことなので、ControlSet001のみを書き換えるように指定すればよいと推測される。もし、不安がある場合は、念のためCurrentControlSetの内容も同時に書き換えるべきかもしれない。
資料
http://support.microsoft.com/kb/100010/ja
http://www.atmarkit.co.jp/fwin2k/win2ktips/119lkgc/119lkgc.html