|
google了一些资料。以下是我对多音频流的理解(未必正确和准确):
对于使用esd服务的程序,可以用下面的图表示:
程序
|
esd
|
驱动(oss)
|
声卡
同时esd可以提供多音频流的mix,即有多个程序使用esd时。
程序C........... 程序D
..|_________|
.............|
........... 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)
请问还需要做别的啥设置么?初步觉得是esd服务器的配置,但是照了好多帖子试过都不行 |
|