single.php

サウンドの既定値をVBScriptで変更する方法

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

動画が再生されない

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

毎回、Windowsのサウンド設定を変更して改善させていましたが、休止状態から復帰時にほぼ100%発生するので、かなり面倒くさい。

VBScriptで自動化

Windowsで音声の再生デバイスの変更は[サウンド]画面で行います。通常はマウスやキーボードで操作を行いますが、休止状態から復帰された場合に”ほぼ”毎回するのは手間がかかります。

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

Dim WshShell

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

WshShell.Run "control mmsys.cpl"

WScript.Sleep(3000)

WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "%s"
WshShell.SendKeys "{UP}"
WshShell.SendKeys "{UP}"
WshShell.SendKeys "{UP}"
WshShell.SendKeys "%s"
WshShell.SendKeys "{ENTER}"

私が運用している環境の場合、[ライン]を既定値として利用しています。この既定値を一覧の3つ下の[27EA33]に一時的に変更して、元に戻します。

WshShell.Run "control mmsys.cpl"

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

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

WScript.Sleep(3000)

その後に、仮想的に[↓]キーを入力して、3つしたのデバイスまで移動して続けて[Alt]+[S]キーで[既定値に設定]します。{DOWN}の回数は一覧の内容で随時変更します。

WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "%s"

再度戻すために、[↑]キーを入力して、3つしたのデバイスまで移動して続けて[Alt]+[S]キーで[既定値に設定]後[ENTER]キーで画面を閉じます。

WshShell.SendKeys "{UP}"
WshShell.SendKeys "{UP}"
WshShell.SendKeys "{UP}"
WshShell.SendKeys "%s"
WshShell.SendKeys "{ENTER}"

これで、VBScriptファイルを実行することで再生デバイスの切り替えが自動化されます。

まとめ

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

YouTubeで動画が再生されず、クルクル表示が消えなくて困っている人の参考になれば幸いです。

スポンサーリンク

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

コメントを残す

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