これは、NetBSD Advent Calendar 2020の20日目の記事です。
はじめに
標準のpkgsrc/www/firefoxをNetBSDで使うときは、標準ではSun audio backendを使うことになります。 ですが、私はpkgsrc/audio/pulseaudioを使っています。 その場合には、複数のオーディオデバイスを簡単に選べるようにしました。 pulseaudio-13.0nb9以降を使ってください。 ちなみに、WebRTCのオーディオ入力デバイスの切り替えにも便利です。 ただし、Bluetooth A2DP再生の場合には対応できていません(pad(4)は認識させていないため)。
複数のオーディオデバイスがある場合とはどのような場合かと言うと、例えばUSBオーディオデバイスが存在する場合です。 私の場合には、USB接続のヘッドセットを接続すると2つ目のオーディオデバイスが発生します。
PulseAudioとFirefoxをビルドする
PulseAudioを使うには、以下のようにpkgsrc/www/firefoxをビルドすると良いでしょう。
# cd /usr/pkgsrc/www/firefox-l10n # make PKG_OPTIONS.firefox=pulseaudio install
ちなみに、少なくとも最近のpkgsrc/www/firefoxでは、英語(en_US)ロケールであってもpkgsrc/www/firefox-l10nをインストールしておくことをお勧めします。
オーディオ出力デバイスの切り替え
これは、Firefoxではなく、PulseAudioの方で設定します。
pkgsrc/audio/pulseaudioに含まれているpactl
コマンドを使い、以下のようにすると良いでしょう。
私のローカルpkgsrcツリーでは、pkgsrc/audio/pulseaudioは14.0になっているので、module.versionは14.0になっています。
ここでは、/dev/audio0とそれへのシンボリックリンクである/dev/audio、/dev/audio1の2系統が存在していることが分かります。
$ pactl list (snip) Module #6 Name: module-oss Argument: mmap=0 device=/dev/audio Usage counter: n/a Properties: module.author = "Lennart Poettering" module.description = "OSS Sink/Source" module.version = "14.0" Module #7 Name: module-oss Argument: mmap=0 device=/dev/audio0 Usage counter: n/a Properties: module.author = "Lennart Poettering" module.description = "OSS Sink/Source" module.version = "14.0" Module #8 Name: module-oss Argument: mmap=0 device=/dev/audio1 Usage counter: n/a Properties: module.author = "Lennart Poettering" module.description = "OSS Sink/Source" module.version = "14.0" (snip)
それでは、/dev/audio1で再生するように切り替えてみましょう。以下のように実行します。
$ pactl set-default-sink oss_output.audio1
これで、USB接続ヘッドセットの方から音が出るようになりました。
Firefoxでのオーディオ入力デバイスの切り替え
FirefoxのWebRTCのオーディオ入力デバイスは、WebRTCがオーディオ入力を要求する場合の選択肢が複数になるので、そこで選択できるようになります。 /dev/audio1を選択する場合のポップアップの例を下図に示します。
これで、Firefox関連で自由にオーディオ入出力を設定できると思います。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。