スリープするとVirtualBoxの音が聞こえなくなるんです
普段VirtualBoxで動いているUbuntuで音楽を再生して聞いています。実際の音はモニタのスピーカーから出ています。
この環境で音楽を聞いていると、立ち上げた時にはちゃんと聞こえるのですが、モニタが自動電源オフしたりPCがスリープした後に復帰すると音が聞こえなくなる時があって困っていました。
環境はこんな感じです。
ゲスト | OS | Ubuntu | 20.04 |
ホスト | ハイパーバイザー | VirtualBox | 6.1.26 |
OS | Windows 10 Pro | 21H1 | |
CPU | Core i7-8700 |
調べてみると
どうやらホストOS上のVirtuaBoxのオーディオ出力先に問題があるようでした。
Windowsの音量ミキサーで見るとVirtualBoxのオーディオ出力先が別の再生デバイスに切り替わっていたり、どの再生デバイスにも出力されなくなっていたりします。
この他にもひとつのVirtualBoxが音量ミキサーの複数の再生デバイスに同時に見えたり、音量ミキサーのどこにも見えなくなったりもします。
この状態になるとゲストOSをリブート(電源OFFしないで再起動)しても復活しません。ゲストOSをシャットダウンして再起動すれば復活するのですが、作業中などは面倒です。
色々試してみると、現象が2種類ありました。
軽症のケースは
ホストPCの[サウンド]-[再生]で見ると有効な再生デバイスが複数ある場合に発生します。
本当は既定の再生デバイスにあるはずのVirtuaBoxが別の再生デバイス上にいつの間にか移動しています。
この時は、[サウンドの設定を開く]-[サウンドの詳細オプション]-[アプリの音量とデバイスの設定]を開きます。
VirtualBoxの出力先を[既定]から出力したい再生デバイスに切り替えると割と高い確率で復活しました。
たまに、このアプリの一覧の中にVirtualBoxが無い場合があります。このときは、諦めて次の重症のケースで対応します。
重症のケースは
VirtualBox自体が、[サウンドの設定を開く]-[サウンドの詳細オプション]-[アプリの音量とデバイスの設定]のアプリの一覧に出てきません。
これは、有効な再生デバイスが一つしかない場合になりやすいのですが、有効な再生デバイスが複数ある場合でもときどき発生します。
この時は、軽症のケースで使った出力先を切り替える手段が使えません。
今のところ、この場合は仮想マシンを一時停止して再開するか、ゲストOSをシャットダウンして再起動する必要があります。
結局
軽症のケースになることを期待して、有効な再生デバイスが複数ある状態にしておいて使うことにしました。
軽症のケースで済めば再生デバイスを切り替えて対応します。重症のケースになってしまった場合は、諦めてゲストOSをシャットダウンするか仮想マシンを一時停止して再開しています。