|
发表于 2003-9-27 17:35:38
|
显示全部楼层
传统的声音程序直接使用/dev/dsp0设备文件,这种情况alsa的模拟oss也不能同时发音。
alsa 0.92开始提供了一个叫dmix的模块可以让多个都是使用alsa-lib的程序同时发音,我用过觉得效果不太好,有少量延时(没有esound那延时夸张)。
不明白为何调用alsa-lib这样的外加库都不能实现同时发音,还要外加模块。
以前用过JACKD,起初觉得不错,后来不断有声音停顿几百毫秒的情况,现在我都不用了。看看网页介绍,JACKD真TMD吹毛求疵,它要实现实时的0%CPU占用,要实现还要修改一点内核源代码,但同时警告会有可能被黑,无聊的家伙!
还使用过mas,是个不错的东西,可惜还是不成熟的代码,经常死掉,要我kill掉进程。没有JACKD那样的苛刻。提供一大串理想的特性(例如网络透明性、同时发音的性能问题都不错,我用两个xmms同时播放,音量控制互不干扰、感觉不到延时。),MAS已经被计划加进X的下个版本(不是xfree86,是X.org)作为标准发布。
我只有等。。。 |
|