LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1112|回复: 11

HOWTO: Hear multiple sounds at once[Ubuntu下的多音流]

[复制链接]
发表于 2005-4-11 16:53:03 | 显示全部楼层 |阅读模式
HOWTO: Hear multiple sounds at once
This one seems to stump most linux newbies..."Why can't I hear sounds from two applications at once?" This is because your sound card requires something called "software mixing." Thankfully, ALSA provides software mixing, so this shouldn't be very hard.

The first thing to do is install the package libesd-alsa0. Use synaptic, a sudo apt-get install, or whatever. Its available in the Ubuntu repositories.

Then, create the following file using "sudo gedit" or your favorite text editor, and save it as /etc/asound.conf. (Make sure you use sudo, you need root priviledges to do this.)

pcm.card0 {
type hw
card 0
}

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

}




pcm.dmixer {

type dmix
ipc_key 1025
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096    #notice
periods 128
rate 44100
}
bindings {
0 0
1 1
}
}

(the above file should work with most sound cards...I've tried it with 3 different ones with success. I can't guarantee it'll work in all cases, though.)

Next, execute a "sudo gedit /etc/esound/esd.conf" and change the file to the following:

[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 2 -d default
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=

Next, go to your Sound control panel in Gnome and enable sound server startup. After this, go to your Multimedia Systems Selector control panel and set it to either ALSA or ESD. Then, reboot your computer.

After doing this, you can set any application to use alsa or ESD, and you'll hear multiple sounds at once! No more problems playing games that use ALSA and hearing sounds from a Gnome app that uses ESD...


notice:缓存的大小最好改大一点,不然会“卡”,改成 8192 或者更大,原作者的是4096。

From:http://www.ubuntuforums.org/showthread.php?t=8882
发表于 2005-4-11 20:19:46 | 显示全部楼层
good !!
回复 支持 反对

使用道具 举报

发表于 2005-4-11 21:21:20 | 显示全部楼层
我正在找解决办法呢,要试一下!
回复 支持 反对

使用道具 举报

发表于 2005-4-12 09:42:26 | 显示全部楼层
我在debian下面测试成功了,真应该让更多的人看看这个
回复 支持 反对

使用道具 举报

发表于 2005-4-12 10:30:42 | 显示全部楼层
好,有空试试
回复 支持 反对

使用道具 举报

发表于 2005-4-28 17:35:09 | 显示全部楼层
我按照这个方法设置安装了libesd-alsa0,
但它删除了原来的libesd0,
虽然alsa和esd能够同时使用了,
但esd的音效很差。
回复 支持 反对

使用道具 举报

发表于 2005-5-1 01:24:01 | 显示全部楼层
Post by aiyi
我按照这个方法设置安装了libesd-alsa0,
但它删除了原来的libesd0,
虽然alsa和esd能够同时使用了,
但esd的音效很差。


我按这个法子做了,alsa和esd效果都很好。你是不是缓存设少了?
回复 支持 反对

使用道具 举报

发表于 2005-6-9 11:18:07 | 显示全部楼层
不错,不错,解决了在ubuntu下面的beep-media-player死机的问题。
回复 支持 反对

使用道具 举报

发表于 2005-6-13 12:15:03 | 显示全部楼层
不行哦,虽然可以在开启系统音效的情况下用XMMS或BMP,或系统的播放器,但还是只能播放一个播放器,如在XMMS下播放中,用系统的播放就不行了。而且事件音效很难听啊!
回复 支持 反对

使用道具 举报

发表于 2005-6-13 18:17:54 | 显示全部楼层
1.
如果你的声卡支持硬件混音  , 那就不要用 dmix

2.
所有播放器的输出都要选为 alsa

别用 esd 或 arts
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表