ALSA dmix 全攻略

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

ALSA dmix 全攻略

文章lueo » 週五 1月 07, 2005 1:29 am

小弟使用cmi8738的主機板內建音效,設定dmix成功。

安裝 alsa-base, alsa-oss
移除libesd0,裝上libesd-alsa0
新增 ~/.asoundrc
代碼: 選擇全部
# For OSS Emulation

pcm.dsp {
type plug
slave.pcm "dmixer"
}

pcm.dsp0 {
type plug
slave.pcm "dmixer"
}

ctl.mixer {
type hw
card 0
}

ctl.mixer0 {
type hw
card 0
}


pcm.!default {
type plug
slave.pcm "dmixer"
}

pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 2048
buffer_size 8192
rate 48000
}
bindings {
0 0
1 1
}
}

ctl.dmixer {
type hw
card 0
}

為何設定成period_size 2048 ?請參見 http://alsa.opensrc.org/index.php?page=DmixPlugin ,"Still Hearing Stuttering?" 一節

各種應用程式設定:
Rhythmbox等使用gstreamer的程式:
執行gstreamer-properties: Audio-Sink:Output:Custom
Pipeline:"alsasink device=dmixer"
不這樣設的話,聲音出來個2秒程式就會當掉。

gaim等使用esound的程式:
/etc/esound/esd.conf:
代碼: 選擇全部
[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 5 -d default
spawn_wait_ms=1000
# default options are used in spawned and non-spawned mode
default_options=

-d default 就是我們在asoundrc設定的default設備,使用到dmix

問題:
1.java(sunj2sdk1.4.2_06)的聲音還是要等所有其它佔用音效的程式完畢後才會發出。比如jin這個java的chess client。
2.flash-nonfree在firefox裡還是沒有聲音。dpkg-reconfigure mozilla設定的wrapper為auto或esd都一樣。

參考資料:
http://alsa.opensrc.org/index.php?page=DmixPlugin
http://gentoo-wiki.com/index.php?title= ... r_aka_dmix
http://ubuntuforums.org/archive/index.php/t-8622.html
lueo
懵懂的國中生
懵懂的國中生
 
文章: 121
註冊時間: 週六 1月 31, 2004 11:52 pm

文章yu392 » 週一 2月 21, 2005 1:18 pm

這個網站實在太棒了!

感謝貼了lueo的解決方法, 我照著做之後, 解決了我的問題, 原本不能發聲的vlc也可以用了, 試了之後xmms 和vlc可以同時發聲

補充一下, 用 apt-get install libesd-alsa0 安裝libesd-alsa0 時, 就會問要不要移除libesd0
頭像
yu392
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週二 11月 18, 2003 6:01 am
來自: SAN


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron