Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1038353
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:20:53


Linux的声音系统或许是最无序的子系统部分!作为Server来说,声音无足轻重,无人问津,而作为桌面来说太多的实现方案,各有各的长出和不足,ALSA经过多年的发展,基本统一了Linux声卡硬件驱动层的借口,OSS日渐退出,但是在ALSA之上的各个应用层面,方案和软件之多让人咋舌!ESD,aRts,JACK,GStreamer,这些系统组件各个为战,实现了不同的功能,ESD是GNOME的声音服务器,而aRts是KDE的,JACK可以处理一些底层的应用,GStreamer是GNOME平台比较新的Code和Decode的中间层,向声音服务器输送解码后的RAWAudio,还有很多程序,比如Xine和Mplayer,他们的声音处理完全是独自完成的,从编解码到输出到ALSA驱动,应用程序全包办了,不需其他的中间层!这就使整个声音系统显的极其复杂和杂乱无章!PulseAudio声音服务器试图以全新的架构来提供新的声音处理架构,希望能像ALSA统一底层那样一统声音应用领域! 对于现今的大部分GNOME程序而言,声音处理流程是这样的: 应用程序调用GSTreamer解码,将压缩的声音文件解成rawaudio数据,然后交给ESD声音服务器,由ESD交由ALSA转至设备层,完成声音输出,这个过程中,使用PulseAudio的话,只要把ESD换成PulseAudio应该就可以了!而对于其他方式的应用而言,问题还不止这些! PulseAudio的目的就是要让声音系统整体复杂度有效的降下来,方便更好的开发各类声音应用。那么安装PulseAudio最便捷的方法是直接从发行版中安装编译好的包!最新的Fedora8已经是PulseAudioReady的发行版了,不必为安装费神! 在我系统上已安装的Pulse相关包列表 pulseaudio-core-libs-0.9.7-0.17.svn20071017.fc8 alsa-plugins-pulseaudio-1.0.14-5.fc8 pulseaudio-module-x11-0.9.7-0.17.svn20071017.fc8 pulseaudio-module-gconf-0.9.7-0.17.svn20071017.fc8 gstreamer-plugins-pulse-0.9.5-0.4.svn20070924.fc8 pulseaudio-libs-0.9.7-0.17.svn20071017.fc8 pulseaudio-libs-glib2-0.9.7-0.17.svn20071017.fc8 pulseaudio-utils-0.9.7-0.17.svn20071017.fc8 pulseaudio-esound-compat-0.9.7-0.17.svn20071017.fc8 pulseaudio-0.9.7-0.17.svn20071017.fc8 由于pulseaudio-esound-compat的出色替代工作,大部分基于ESD的应用用上了PulseAudio。 约90%的应用可以使用PulseAudio,KDE程序可以设置aRTs直接路由到ESD,而XMMS,Amarok程序可以设置后台声音服务器为ESD。 PulseAudio通过网络处理请求的能力也很强,可以处理来自多个数据原的声音,这是其它最大的特色之一。 (责任编辑:云子)


下载本文示例代码
阅读(407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~