|
1. 忙了3天,查了n多的资料。刚刚有结果了。终于实现了multiplex.
2. 我的系统配置: kernel-2.6.15.6 (FC4)肯自己配置的内核/gnome. 好像kde 下用不着非功夫了。所以用gnome的同志注意了哦。
3。 在配置内核时不要选oss. 仍然有oss 的也没有关系,看后面。
4。 绝对没有必要编译那个 alsa-driver, 网上有文说要编译,结果必定时'无法找到声音控制设备“。其实fc4已经将准备工作作好了。只要一个.asoundrc来用alsa的dmixer 就够了。下面是文章的连接:
http://www.linuxjournal.com/article/8234
为了方便内网的朋友,贴出来:
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 32000
}
bindings {
0 0
1 1
}
}
pcm.dsp {
type plug
slave.pcm "dmixer"
}
ctl.dmixer {
type hw
card 0
}
照搬那里的.asoundrc就可以了。
5。 关键了;在开启有声音输出的程序时,将alsa参出传给程序:如:
mplayer -ao alsa9:dmixer -aop list=volume:volume=0 \
-framedrop foo.avi
alsaplayer -o alsa -d plug:dmixer cool-foo.mp3
--
搞定,easy吧!改用alsaplayer了
由于alsa自带了dmixer,调用dmixer来混音就ok了,那个asoundrc就是作这个的。概括的说:
applications + parameters "alsa" -> asoundrd->dmixer->multiplexing
如果麻烦输参数,就建launchers,将参出加进去,完了,click就可以运行了。
欢迎指正哦!
7. 补充:同志们还要加上alsa-oss,这个可以到alsa project下载。完了编译安装。 这个组建的作用是可以模拟oss,使用oss的程序不独占声卡。 这样,像realplayer这样霸道的软件不能独占声卡。同样也可以使xmms不会用oss输出来独占声卡。
将aoss传递的方法是: aoss name-of-application |
|