热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux声音系统和PulseAudio简介

Linux声音系统和PulseAudio简介--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
Linux的声音系统或许是最无序的子系统部分!作为Server来说,声音无足轻重,无人问津,而作为桌面来说太多的实现方案,各有各的长出和不足,ALSA经过多年的发展,基本统一了Linux声卡硬件驱动层的借口,OSS日渐退出,但是在ALSA之上的各个应用层面,方案和软件之多让人咋舌!ESD,aRts, JACK,GStreamer, 这些系统组件各个为战,实现了不同的功能,ESD是GNOME的声音服务器,而aRts是KDE的,JACK可以处理一些底层的应用,GStreamer是GNOME平台比较新的Code和Decode的中间层,向声音服务器输送解码后的RAW Audio,还有很多程序,比如Xine和Mplayer,他们的声音处理完全是独自完成的,从编解码到输出到ALSA驱动,应用程序全包办了,不需其他的中间层!这就使整个声音系统显的极其复杂和杂乱无章!PulseAudio声音服务器试图以全新的架构来提供新的声音处理架构,希望能像ALSA统一底层那样一统声音应用领域!

对于现今的大部分GNOME程序而言,声音处理流程是这样的:
应用程序调用GSTreamer解码,将压缩的声音文件解成raw audio数据,然后交给ESD声音服务器,由ESD交由ALSA转至设备层,完成声音输出,这个过程中,使用PulseAudio的话,只要把ESD换成PulseAudio应该就可以了!而对于其他方式的应用而言,问题还不止这些!

PulseAudio的目的就是要让声音系统整体复杂度有效的降下来,方便更好的开发各类声音应用。那么安装PulseAudio最便捷的方法是直接从发行版中安装编译好的包!最新的Fedora 8已经是PulseAudio Ready的发行版了,不必为安装费神!

在我系统上已安装的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通过网络处理请求的能力也很强,可以处理来自多个数据原的声音,这是其它最大的特色之一。
推荐阅读
  • Linux环境下配置Subclipse访问SVN+SSH仓库的方法
    本文详细介绍如何在Linux操作系统中配置Subclipse,以便通过SSH协议安全访问SVN仓库。不同于常见的Windows配置指南,本文提供了针对Linux用户的详细步骤。 ... [详细]
  • 最佳PHP源码加密工具推荐
    本文探讨了几款高效的PHP源码加密工具,旨在帮助开发者保护其代码免受未授权访问。文章不仅介绍了商业软件的选择,还提供了一些免费且实用的加密工具及其使用方法。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • TortoiseSVN与VisualSVN Server的安装及基本操作指南
    本文详细介绍了如何安装VisualSVN Server以及TortoiseSVN客户端,并提供了基本的操作步骤,包括配置仓库、用户管理及权限设置等关键环节。 ... [详细]
  • 掌握数据库引擎存储过程与系统视图查询:DBA与BI开发者的必备技能
    本文介绍了如何利用数据库引擎存储过程及系统视图查询数据库结构和对象信息,为数据库管理员(DBA)和商业智能(BI)开发人员提供实用的基础知识。文章涵盖了一系列常用的SQL Server存储过程和系统视图,帮助读者快速获取数据库的相关信息。 ... [详细]
  • 持续集成概述与实践指南
    本文探讨了持续集成(CI)的基本概念、目的及其在现代软件开发中的应用。通过实例分析,帮助读者理解如何有效实施持续集成,提高软件开发效率。 ... [详细]
author-avatar
卢晓影_611
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有