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的其他计算机并通过其扬声器直接播放声音

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

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

一个功能完善且带有命令行重新配置功能的守护进程

内置采样转换和重采样功能

能够合并多块声卡成一个声卡

能够同步播放多个音频流

Pulseaudio之load-module加载module-always-sink(十四)相关推荐

  1. 2021年大数据HBase(十五):HBase的Bulk Load批量加载操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的Bulk Load批量加载操作 一.Bulk L ...

  2. Hibernate深入之get()与load()懒加载

    前面讲过get和load,一个是直接加载,并不是直接去数据库查询,如果缓存里有,首先到缓存里找,缓存分为一级缓存和二级缓存,首先到一级缓存中查找: 如果在session关闭之后进行获取类的名字之类的属 ...

  3. 解决mysql load data加载本地null数据,表里出现0的情况

    解决mysql load data加载本地null数据,表里出现0的情况 问题说明: sql执行语句如下代码块: ---- 欢迎讨论沟通 ---- 问题说明: 本人在使用mysql加载本地数据过程中, ...

  4. HTML通过js的.load()方法加载页面头部和底部文件

    前言: 大部分网站的头部和底部都是一样的,把公共头部和底部分离出来,使用时直接引用比重复写在每个页面好的多,对于后期的维护和二次开发,也比较友好.实现方法如下: <!DOCTYPE html&g ...

  5. Spark _25.plus _使用idea读取Hive中的数据加载成DataFrame/DataSet(四)

    对Spark _25 _读取Hive中的数据加载成DataFrame/DataSet(四) https://georgedage.blog.csdn.net/article/details/10309 ...

  6. 【学习分享】2、创龙 TMS320C6748开发板程序加载和烧写(四)

    此部分由于篇幅过长,将分为五个小点进行叙述,此处主讲基于SD卡烧写程序到NAND FLASH,所用器件为创龙TMS320C6748开发板.需要注意的点已在备注中进行说明. 如果需要从头开始进行本使用手 ...

  7. jboss7 加载module过程

    1. 调试类: org.jboss.as.server.Main的main方法 断点: Module.registerURLStreamHandlerFactoryModule(Module.getB ...

  8. android module 加载.so,关于Android Studio主Module与依赖Module同时引入so库的问题

    在使用so库的时候遇到一个问题,背景以下:java 项目中有一个录像功能,将录像功能抽取出来变成一个module,这个module引入了一个ffmpeg的so库,将录像功能集成后经测试好用.架构 后来 ...

  9. “睡服”面试官系列第十一篇之module加载实现(建议收藏学习)

    目录 1. 浏览器加载 1.1传统方法 1.2加载规则 2. ES6 模块与 CommonJS 模块的差异 3. Node 加载 3.1概述 3.2内部变量 4ES6 模块加载 CommonJS 模块 ...

  10. Assembly.Load动态加载程序集而不占用文件

    方式一:占用文件的加载 Assembly assembly = Assembly.Load(path); 用上面的方法可以动态的加载到dll,但是用这种方法加载到的dll一直到程序运行结束都是占用的d ...

最新文章

  1. 陈勋教授的脑电信号降噪视频与讲座总结
  2. mysql数据库的常用操作-索引
  3. Shell脚本实现生成SSL自签署证书
  4. 爱玛士关于爬虫的scrapy框架的心得
  5. 单机 Oracle 11g(11.2.0.4)手动打补丁PSU(11.2.0.4.8)
  6. bash的简单for循环
  7. Linux 下C++编写
  8. Android之SurfaceView简介(一)
  9. 建议收藏丨sql行转列的一千种写法!!
  10. Java ByteArrayInputStream markSupported()方法与示例
  11. 【图像处理】射线爆发算法(Rayburst algorithm)
  12. 决赛来袭!十强战队齐聚,终极一战拉开帷幕!
  13. synchronousqueue场景_【JUC】JDK1.8源码分析之SynchronousQueue(九)
  14. MFC中给对话框重绘边框
  15. ResNet----残差结构
  16. 如何阅读PBRT3?
  17. linux运行igv报错,IGV 哐当就不能用了,除了换台电脑还能怎么办?
  18. 刘夏真的简历中国科学院计算机所,一个中科院,四个985,还有一个志愿留在本校,这个学霸考研宿舍是怎样炼成的?...
  19. 质因数分解,(结果简化版)
  20. SDUT-2178 链表的有序集合

热门文章

  1. Micropython教程之TPYBoard DIY金属探测仪实例演示(萝卜学科编程教育)
  2. python 返回函数
  3. 图解25匹马的选马问题
  4. Eclipse编译去除svn文件夹
  5. Android中实现非本地图片的点击态
  6. Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器
  7. [导入]如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(老孟)
  8. JDBC连接数据库集
  9. FileSaver、js-xlsx、SheetJS在线报表预览导出
  10. javascript绘制静态或者动态的图表、关系表、流程图-JointJS