(Ubuntu) Google Chromeで音が出ない

Ubuntu 18.04にアップデート後,PCにヘッドホン (ソニー WH-1000XM3) をBluetooth接続したらYouTubedアニメストアの音声が再生されない.

症状

  • Chromeだと,ヘッドホンからYouTubeなどの音声が再生されない.
  • FIrefoxだと再生される.
  • ヘッドホンを繋がないと,Chromeの場合,本体からは再生される.
  • ヘッドホンを繋いでも,Chromeの場合,本体から再生される (同時にFirefoxはヘッドホンから再生される).

解決法

なんでやねんって思って英語でググったから下記の方法で解決. PAVUCONTROLをイントールして,Chromeの音声出力先を変更すれば良い.

追記: PAVUCONTROLで設定をいじると音声の再生がおかしくなることあり.後の項目に対処策を記載

askubuntu.com

(1) Ubuntu Software Centerを開く

(2) 「PAVUCONTROL」で検索し,出てきたやつをインストール.(図の上のやつ)

f:id:kamocyc:20191222185601p:plain

(3) Chromeで音声を再生させて,ヘッドホンをBluetooth接続した状態で,PAVUCONTROLを起動.

(4) 下記「Built-in Audio ...」となっているところを,Bluetooth接続先デバイスに変更

f:id:kamocyc:20191222185824p:plain

設定後,音声がぶつぶつ切れて再生されるようになった

PAVUCONTROLをインストールして少しいじったところ,今度はPCからの音声再生全般がぶつぶつ音が切れるような感じになってしまった

結局,以下の手順で治った.

  1. sudo gedit /etc/pulse/default.paで設定ファイルを開く.
  2. load-module module-udev-detect tsched=0の行のtsched=0を削除して保存
  3. pulseaudio -k
  4. pulseaudio --start

参考ページ ( PulseAudio/トラブルシューティング - ArchWiki) から引用:

PulseAudio サウンドサーバの新しい実装では旧来の割り込みを使用する方法に変わってタイマーベースのオーディオスケジューリングを使っています。

タイマーベースのスケジューリングはいくつかの ALSA ドライバーで問題を発生する可能性があります。他方では、タイマーベースのスケジューリングがないと不調になるドライバーもあります。あなたのシステムで何が動作しているのか確認してください。

ということで,音声に問題があったらtsched=0を追記するなり削除するなりしてみるといいらしい. 今回問題が起きたのは,PAVUCONTROLが勝手に書き換えたからっぽい.

なお,ALSA(Advanced Linux Sound Architecture)とは「サウンドカードのデバイスドライバを提供する Open Sound System (OSSv3) を置き換えるために開発された Linux カーネルコンポーネント」であり,「Linux の音声入出力は PulseAudio と ALSA の二階建てになっている」ということらしい.

参考:

Advanced Linux Sound Architecture - ArchWiki

Linux の Audio 機能をコマンドラインで設定 - Qiita

余談だが,PAVUCONTROLをアンインストールする際は,間違えてもPulseAudio自体をアンインストールしないこと!(やりそうになった)依存関係でUbuntu Desktopまでアンインストールされてしまう.

Bluetoothで接続したデバイスから音声が出ない.サウンドの出力先に表示されない

今度はBluetoothヘッドホンをペアリングしてconnectedと表示されているのに,システム設定のサウンドの出力先に表示されず,音声も出ないという事象が発生.

ぐぐったら,ペアリングし直すみたいなことが書いてあって,いちいちやるのも面倒そうなので,結局,有線のイヤホンを使おうと思う.

16.04 - Bluetooth speaker connected but not listed in sound output - Ask Ubuntu