single.php

サウンドの有効・無効化をVBScriptで変更する方法

Windows11/10の休止状態から復帰した際に、YouTubeやNETFLIXなどの動画視聴サービスが再生されず、画面の中央にクルクル表示が続くことがあります。そんな場合にはドライバー更新やデバイスの切り替えで対処できますが、サウンドの既定値を切り替える操作が面倒なので、VBScriptで自動化してみました。

動画が再生されない

Windowsの休止状態から復帰した際に、YouTubeやNETFLIX、U-NEXTが再生されない現象で悩んでいました。

先回はVBScriptで既定値を変更して戻す自動化をしてみましたが、別の方法でサウンドデバイスの有効化と無効化を繰り返すスクリプトで自動化をしてみました。

VBScriptでサウンドデバイスの有効・無効化

Windowsで音声の再生デバイスの有効化と無効化は[サウンド]画面で行います。先回のデバイスの切り替えと違い、マウスの右クリックで操作が必要になるので少し工夫が必要です。

実際に自動化してみたのが、次のVBScript。

Dim WshShell

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "control mmsys.cpl"

WScript.Sleep 5000

WshShell.AppActivate("サウンド")

WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "+{F10}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{ENTER}"

WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "+{F10}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{ENTER}"

WScript.Sleep 1000

WshShell.SendKeys "{ENTER}"

私が運用している環境の場合、最上段の[ライン]を既定値として利用しています。この既定値を一旦、無効にしてから再度有効化の操作を行います。

先回のデバイスの切り替えと、前半部分は同じです。

WshShell.Run "control mmsys.cpl"

このコードで[サウンド]画面が表示されます。

表示するまでの待ち時間を、次のコードで処理します(設定している”5000″は5秒です)

WScript.Sleep 5000

その後に、仮想的に[↓]キーを入力して、最上段のデバイスをアクティブにしてから[+{F10}]でマウスの右クリックをして表示されるポップアップメニューを表示します。

続けて[↓]キーを2回入力して[無効化]メニューを選択して。{ENTER} でメニューの決定をします。

WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "+{F10}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{ENTER}"

再度、有効化を行うために、同じキーを入力後、しばらく時間を置いて[ENTER]キーで[サウンド]画面を閉じます。

WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "+{F10}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{ENTER}"

WScript.Sleep 1000
WshShell.SendKeys "{ENTER}"

これで、VBScriptファイルを実行することでデバイスの無効化と有効化を自動化できます。

まとめ

VBScriptファイルを使って再生デバイスの無効化と有効化の自動化することができました。

[サウンド]画面の操作を自動化したい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です