在一个从源码编译的系统中(非Fedora )
编译ALSA之前,未安装pulseaudio,然后编译gstreamer及相关插件,再之后编译audacious.
此时无论Totem或Audacious都可播放音频文件。但不能同时发声。此时解码过程应该是这样:
音频/视频-------------------->Totem-------------------->gstreamer------------------->ALSA混音
音频/视频-------------------->Audacious------------------->ALSA混音
为了同时发声,编译Pulseaudio后,再重新编译ALSA库,打开Pulseaudio支持开关。然后再编译Gstreamer和Audacious,分别打开Pulseaudio支持。
此时解码过程应试是这样的:
音频/视频-------------------->gstreamer------------------->声音服务器混音(pulseaudio,ESound等等)------------------->ALSA(驱动)
^
|
音频/视频-------------------->Audacious--------------------------------
这样不会独占声卡,顺利实现Totem和Audacious同时发音。事实证明也是如此。
但在播放flash时,Audacious/Totem都不能发声,Google搜索后,说是Adobe的官方插件直接使用ALSA混音。所以造成声卡独占。
但是在Fedora中Flash和Audacious/Totem却可以同时发声。有人知道这是怎么实现的么?
Show replies by thread