最近更新: 2012-05-30

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 控制。

參考:

樂多舊網址: http://blog.roodo.com/rocksaying/archives/19558526.html

樂多舊回應
most.cyak@gmail.com(Cyak Most) (#comment-22734770)
Fri, 04 Jan 2013 22:05:37 +0800
我沒有多張音效卡。這些天剛好幫人組裝一台 A10-5800K 主機板 GA-FM2A75-HD2, 順便就在上面測試個人慣用的 debian/KDE4 結果發現音效有問題,因為預設的裝置變成了 HDMI output (目前無這種設備) 。有些可以透過 KDE 的工具 System Configuration 或者軟體本身的選項,手動指定輸出裝置,但是 flash 根本沒選項可改,裝了 pulseaudio 也無效,正在尋找解決方案(因為試了之後覺得 A10 不錯,自己也想要弄一台)搜尋之際來到貴站……