PulseAudioの想定外の動作への対応 [Linux]
これまでは主に、PulseAudio ではなく、ALSA を直接使用してきた。
しかし、Firefox 52.x での音声出力のために PulseAudio を使用するように変更した。
(X の起動時に 'pulseaudio --start' を実行する。)
以下は、ALSA から PulseAudio に移行した際に発生した想定外の動作とその対応についてまとめたものである。
1. PulseAudio の起動により HeadPhone への出力が mute される。
2. PulseAudio 使用時に ALSA 用ミキサーで mute とすると指定外の出力も mute される。
しかし、Firefox 52.x での音声出力のために PulseAudio を使用するように変更した。
(X の起動時に 'pulseaudio --start' を実行する。)
以下は、ALSA から PulseAudio に移行した際に発生した想定外の動作とその対応についてまとめたものである。
1. PulseAudio の起動により HeadPhone への出力が mute される。
(1) 発生事象
PulsuAudio の起動後にヘッドホンへの出力がミュートされる。
・CentOS 7、Debian 9 で発生する。
pulseaudio-6.0-9.el7_3.x86_64 on CentOS 7
pulseaudio 10.0-1 on Debian 9
・Debian 8 では発生しない。
pulseaudio 5.0-13
(2) 対象方法
PulsuAudio の起動後に下記のコマンドを実行する。
(HeadPhone への出力を unmute する。)
% amixer -q [-c 0] sset Headphone unmute
2. PulseAudio 使用時に ALSA 用ミキサーで mute とすると指定外の出力も mute される。
(1) 発生事象
(a) Master/Headphone を mute すると、下記の出力が mute される。
・Master
・Headphone
・PCM
・Front
・Surround
・Center
・LFE
(b) unmute すると、指定した出力のみが unmute される。
mute 状態が残るため、音声出力が得られない状態のままとなる。
(2) 対象方法
(a) ALSA 用のミキサーでは、mute を行わない。
mute は使用せず、Master の volume off を代用する。
(b) ALSA 用のミキサーで mute を行った場合には、下記のコマンドで unmute する。
% amixer -q [-c 0] [-D pulse] sset Master unmute または % pactl set-sink-mute 0 0