2011年4月18日 星期一

PulseAudio + ALSA softvol 設定

由於 Onkyo SE200PCI 的 RCA output 音量是不能調整的(純 Line-out),直接讓 PulseAudio 去管理的話會有無法調整全域音量的問題(只有靜音跟 100% 兩種)。

解決的辦法是:在 ALSA 設定檔幫 SE200PCI 加上 softvol plugin 生出新的 device,然後用這個 device 送給PulseAudio 當作預設的 sink & source 就解決了。正常來說,這樣的設定會有兩個一樣的音效卡出現在PulseAudio 的音量控制介面,一個是原來的硬體介面,一個是加上 softvol 的介面。我們可以關掉原來的硬體介面,這並不會影響新介面的運作。

ALSA的 .asoundrc 設定:
pcm.softvol
{
	type softvol
	slave.pcm "hw:0,0"
	control.name "Master"
	control.card 0
}

pcm.!default
{
	type pulse
}

ctl.!default
{
	type pulse
}

PulseAudio 的設定檔(/etc/pulse/default.pa),在 module-udev-detect.so 之前加入下面兩行
load-module module-alsa-sink device=softvol
load-module module-alsa-source device=softvol

沒有留言:

張貼留言