etch下esd和alsa如何共存?
google了一些资料。以下是我对多音频流的理解(未必正确和准确):
对于使用esd服务的程序,可以用下面的图表示:
程序
|
esd
|
驱动(oss)
|
声卡
同时esd可以提供多音频流的mix,即有多个程序使用esd时。
程序A 程序B
| |
───────
|
esd(mix)
|
驱动
|
声卡
这样通过esd服务程序就可以实现多音频流对于。
而对于可以直接使用alsa驱动的程序,则是
程序
|
alsa驱动
|
声卡
alsa也可以提供多音频流的mix(通过dmix插件),即多程序使用alsa时
程序C 程序D
| |
───────
|
ALSA (mix)
|
声卡
对于esd,原本是使用oss驱动,但现在通过gstreamer0.8-alsa,我们可以使esd调
用alsa驱动。那么,按照设想,可以得到:
程序A 程序B 程序C 程序D
| | | |
─────── ───────
| |
esd(mix) |
| |
────────────────
|
ALSA驱动 (mix)
|
声卡
以上是我的理解。接下来是问题了
按照资料,alsa在0.10版本以后就自动enable dmix了,我试了一下,可以同时使
用alsaplayer和xmms播放两首不同的歌(这就应该是dmix成功了吧?),但此时开
不了esd服务。或者开了esd服务就播不了歌。如何解决无头绪中,感觉应该是esd
的设置问题(已把"多媒体系统选择器中“默认接受器选为alsa)
请问还需要做别的啥设置么?
Reply to: