テレビとPCをHDMIで繋いでAmazon PrimeとかYouTubeとかを再生できるようにしようと思い立った。
概ね上手く動いたのだが、テレビの電源を消した状態でPCを起動し、起動したかな?という頃合いでテレビを付けたところ、音声の出力先が内部オーディオに切り替わってしまう。
まぁ、当然といえば当然の動作。出力先と通信がないから、音が鳴りそうな内部に切り替えたよ、という話と思われる。
PulseAudioの設定を変更
デフォルトの出力先をHDMIにして、自動切り替えをやめるようにした。
QA Stack / Ubuntu 18.04でデフォルトのオーディオ出力デバイスを設定するにはどうすればよいですか?
リモートから色々やってみたけれど結局うまく行かなかったので、ターゲットのPCで操作した。
まず、設定で出力先をHDMIにする。
ターミナルを開いてデバイスの名前を調べる。
$ pactl list short sources
4 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz RUNNING
※黄色部分が名前。
PulseAudioの設定を変更。
/etc/pulse/default.pa
… ### Should be after module-*-restore but before module-*-detect #load-module module-switch-on-port-available モジュールが検出できなければ復元しない…っぽい、これを止めないとウチではうまく動かなかった。 ### Use hot-plugged devices like Bluetooth or USB automatically (LP: #1702794) #.ifexists module-switch-on-connect.so #load-module module-switch-on-connect BluetoothとかUSBがつながったら自動で切り替えるのを止める。 #.endif … ### Make some devices default #set-default-sink output #set-default-source input set-default-source alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor
※コメント欄でご指摘いただいたのですが、音声出力なので source ではなく sink が正しい気がします。いま、この環境がなくなっているので確認はできていません。
PulseAudioの個人設定を削除。
$ rm -r ~/.config/pulse
これで再起動したら音声出力先がHDMIになっていた。
何度再起動しても、テレビを消したままで再起動しても出力先は変わらず、うまくいったようだ。
さいごに
ちょっと面倒だったけれども、うまくいった。
こたつでPC環境が着々と完成に近づいている。
コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他
こんにちは。同じ事をしたくて色々と検索しましたが、このブログの方法でようやくうまくいきました。
私の環境(Lubuntu22.04)では、
set-default-source alsa_output.......ではなく、
set-default-sink alsa_output.........でうまくいきました。
USBヘッドホンをつないだままだと、モニターのスピーカーから音が出ないので、毎回PulseAudioで設定しなおしておりました。
ありがとうございます。
貴重な情報をいただきまして、ありがとうございます。
このページの通りにやっても上手くいかない!という方が、たくさんいらっしゃったことでしょう。
気になって検索してみたところ、"source"は入力を表しているようです。
出力は"sink"とされていました。
https://wiki.archlinux.jp/index.php/PulseAudio/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB
教えていただいた情報が正しいと思います。
ウチの環境で上手くいったのって、一体全体何だったのか…
OSをWindowsに入れ替えてしまったため、今となっては検証もできませんので、こういった情報は大変助かります。
もしまた何かで当サイトにお越しの際は、お気軽にコメントしていってください。
ありがとうございました。