Debian 6 與 PulseAudio ~ 讓瀏覽器的 flash 在正確的音效設備上發聲
Debian 6 GNOME 桌面環境預設的音訊模組是 ALSA 。 它在大部份情形下都工作得很好,但是對於有電腦上裝有多張音效卡的使用者來說,不太方便。
以我的情形來說,電腦裝兩張音效卡是很平常的事。所以我有時候會根據我的需求,在播放媒體時切換音訊輸出的裝置。例如我需要指定瀏覽器看 Youtube 時從 A 音效卡輸出聲音,而影片播放程式則從 B 音效卡輸出聲音。 就像我在「使用 PulseAudio 命令列工具切換應用程式使用的音效設備」這篇文章中要做的事。然而 ALSA 在這一點上並不方便。
另一方面,我發現瀏覽器中的 flash player 似乎總是用 ALSA 音效模組,而且桌面提供的音效控制工具還不能切換音效卡。於是我不得不找個方法,將 ALSA 的音訊串流再轉接到 PulseAudio 上,以便我能透過 PulseAudio 控制音訊輸出裝置。特別是要讓我在看 Youtube 時,聲音可以從我想用的音效裝置上輸出。
首先,Debian 的使用者得要先安裝 pulseaudio 音訊模組。如果安裝 KDE 桌面環境,那它預設就採用 PulseAudio 。安裝 GNOME 桌面環境的使用者,則需要自行加裝以下套件: pulseaudio pulseaudio-module-x11 pavucontrol alsa-tools-gui。
接著,我需要編輯 ALSA 的設置文件 /etc/asound.conf (所有使用者) 或 ~/.asoundrc (個人),加入或修改成下列內容:
pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse } ctl.!default { type pulse }
最後,重新啟動我的瀏覽器,開啟一個 Youtube 頁面,聽聽聲音是不是轉到 PulseAudio 輸出了。 音量調整等細節可以用命令列工具 pacmd ,也可以用 GUI 工具 pavucontrol 控制。
參考:
- No sound in flash in Debian iceweasel (KDE, using pulseaudio)
- How-To: Pulseaudio
- Debian Squeeze, Gnome, Pulseaudio and volume hotkeys
- 使用 PulseAudio 命令列工具切換應用程式使用的音效設備
樂多舊回應