PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。

PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。

在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声音输出到PulseAudio,然后PulseAudio会使用ALSA它自己来访问真正的声卡. PulseAudio同样提供它自己的接口给应用程序,用来直接支持PulseAudio,就像那些遗留的基于ESD的软件,这样使得PulseAudio适合作为ESD的替代品。

PulseAudio的主要特点包括:

  • 可对每一个应用程序进行音量控制Per-application volume controls

  • 可扩展的插件与支持可装载模块架构

  • 兼容性许多流行的音频应用程序

  • 支持多重音源和多重输出

  • 低延时操作和支持延迟测量

  • 一个对处理器资源效率零拷贝内存架构

  • 能够发现本地网络上使用PulseAudio的其他计算机并通过其扬声器直接播放声音

  • 能够改变一个应用程序的声音输出设备,就算这个应用程序在播放声音(程序不需要支持这特性,而事实上,程序甚至没有意识到改变)

  • 带有脚本功能的命令行界面

  • 一个功能完善且带有命令行重

ALSA中amixer、aplay、arecord(三)相关推荐

  1. ALSA音频工具amixer,aplay,arecord

    ALSA音频工具amixer,aplay,arecord http://www.cnblogs.com/cslunatic/p/3227655.html ALSA音频工具编译安装 ========== ...

  2. amixer 如何切通道_ALSA音频工具amixer,aplay,arecord

    ALSA音频工具编译安装 ========================================================================1.官网http://www. ...

  3. ALSA中PCM的使用

    一.预备知识 1.声音分分类 (0)极低频: 20-40Hz (1)低频: 40-80Hz (2)中低频: 80-160Hz(3)中频: 160Hz-1280Hz这个频段之间横跨的幅度是最宽的,几乎把 ...

  4. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

  5. 【平行驾驶】王飞跃 | 人工智能与智能汽车:在CPSS中驶向第三轴心时代

    来源:车百智库 [导读]1月10-12日,2020中国电动汽车百人会论坛在钓鱼台国宾馆隆重召开.青岛智能产业技术研究院院长王飞跃教授受邀出席并作精彩报告,讲述了平行驾驶理论及其当前的矿山无人化应用.王 ...

  6. oracle if=,oracle中if/else的三种实现方式详解

    1.标准sql规范 1.单个IF IF v=... THEN END IF; 2.IF ... ELSE IF v=... THEN ELSE t....; END IF; 3.多个IF IF v=. ...

  7. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(三)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(三) 目录 3. 参数微调案例/Parameter Tunin ...

  8. TF学习——TF数据读取:TensorFlow中数据读这三张图片的5个epoch +把读取的结果重新存到read 文件夹中

    TF学习--TF数据读取:TensorFlow中数据读这三张图片的5个epoch +把读取的结果重新存到read 文件夹中 目录 实验展示 代码实现 实验展示 代码实现 1.如果设置shuffle为T ...

  9. Django中Model继承的三种方式

    Django中Model继承的三种方式 Django中Model的继承有三种: 1.抽象继承 2.多表继承 3.proxy model(代理model) 1.抽象继承 第一种抽象继承,创建一个通用父类 ...

最新文章

  1. 云评测、云监测、云加速,性能魔方mmTrix全球速度最快
  2. Python图像处理,替代PS做好效果图!
  3. mybatis-mapper
  4. R语言实现sigmoid激活函数并可视化
  5. it 脑裂_脑裂是什么?Zookeeper是如何解决的?
  6. 逆向知识十三讲,汇编中数组的表现形式,以及还原数组
  7. Beaglebone Back学习七(URAT串口测试)
  8. 常用10种PHP编辑器下载
  9. 搭建项目_跟着团子学SAP PS:项目模版搭建
  10. linux命令之查看动态库符号-nm
  11. angularjs封装bootstrap官网的时间插件datetimepicker
  12. 前端学习(2311):react中处理跨域问题
  13. ShellExecuteEx and SHELLEXECUTEINFO and ShellExecute
  14. H5 学习之旅-H5表格(7)
  15. 面试被问Redis锁的缺点,被打击的扎心了
  16. pytorch torch.nn到底是什么?
  17. 基于SSM的设备租赁管理系统
  18. android root权限获取失败,安卓手机为什么获取Root权限失败?Root失败是什么原因...
  19. Flink的流处理与批处理
  20. Linux系统的历史发展演绎

热门文章

  1. 2014 北京区域赛 dp
  2. 赛门铁克分家前利润暴跌
  3. 《Web前端工程师修炼之道(原书第4版)》——移动Web
  4. 企业微信正式发布 与阿里“钉钉”共逐移动办公市场
  5. 转:移动网络下的性能优化之省电篇
  6. 移动互联网初创型团队需要什么样的云计算服务?
  7. IMAXB6充电器使用教程
  8. 如何从基础到深入了解java构造器
  9. 计算机网络的发展英文,计算机网络英文方向论文选题 计算机网络英文论文题目哪个好...
  10. 通过phpmyadmin确认此版本的php支持mssql函数,Php5.6.4+IIS8.5+mysql5.6.22+phpmyadmin4.3.6的配置...