linux pulseaudio模块关系,ALSA和PulseAudio有何关系?
ALSA是内核级混音器,它直接管理您的声卡。ALSA本身一次只能处理一个应用程序。当然,有解决这个问题的“ dmix ”。(这是一个ALSA模块。)
PulseAudio是用户领域之上的软件混合器(就像您运行应用程序一样)。在运行时,它使用Alsa(无dmix),并管理各种混合,设备,网络设备以及所有内容。
在2014年,您仍然只能运行ALSA。但是,除非您自己编译应用程序并在各处启用ALSA支持-或使用基于源的发行版(如Gentoo),否则可能会遇到混合问题。发行版中预编译的应用程序通常仅在支持Pulseaudio而非纯ALSA的情况下构建。例如,Ubuntu更喜欢PulseAudio。默认情况下,它带有PulseAudio,因此每个应用程序都被编译为仅使用PulseAudio。
PulseAudio确实有其优势。人们说这对处理网络音频非常有用,它解决了纯ALSA下发生的多通道音频流的一些问题。据认为,为PA开发应用程序也更容易。在最终用户方面,很容易选择新设备,通过应用程序控制音量等。
但是,在默认配置中,它向混合中添加了不小的延迟。对于某些要求低延迟的任务,例如某些游戏和软件,这是一个很大的缺点。
OSS是这两种方法的替代方案,但未获得GPL的许可,这使得发行版不太可能被大量采用。
插图:
典型的PulseAudio驱动的声音系统,例如Ubuntu:
内核:ALSA->用户名:PulseAudio-> app1,app2,app3
在典型的Linux系统中,PulseAudio混合来自所有不同应用程序的音频,并将它们向上馈送到ALSA。
ALSA:
内核:ALSA-> dmix->用户名:app1,app2,app3
仅使用纯ALSA,您需要dmix才能混合多个应用程序。没有它,ALSA一次只能播放一个应用程序的音频流。
OSS:
内核:OSS->
用户空间:app1,app2,app3 使用OSS,用户空间应用程序直接与内核中的OSS通信,后者将流本身混合在一起。
综上所述,在当今的典型系统中,ALSA直接与您的声卡对话,而Pulseaudio与您的应用程序和程序对话,并将其输入ALSA。
linux pulseaudio模块关系,ALSA和PulseAudio有何关系?相关推荐
- Linux音频软件:Alsa、OSS和Pulseaudio、ESD、
Linux 音频系统简析 https://blog.csdn.net/meizum10/article/details/17437959 PulseAudio,ESD和ALSA,OSS的关系 http ...
- 怎么安装aptdaemon模块_安装Pulseaudio模块在Ubuntu中开启蓝牙APTX/LDAC支持
安装pulseaudio-bluetooth模块就能在Ubuntu 18.10/Ubuntu 18.04系统中实现蓝牙APTX/LDAC的支持,因为该模块整合了对于LDAC和APTX的支持,把它编译安 ...
- Ubunt下使用Alsa以及Alsa和PulseAudio
Ubunt下使用Alsa以及Alsa和PulseAudio 安装 可能出现的问题 安装 直接命令,安装alsa sudo apt-get install alsa* 接着测试录音 sudo areco ...
- 【Linux CPUFreq模块】
Linux CPUFreq模块 CPUFreq 简介 模块架构 代码 CPUFreq 核心数据结构 CPUFreq governor核心数据结构 cpufreq notifiers CPUFreq C ...
- linux ipv6模块,有关Linux ipv6模块加载失败的问题
有关Linux ipv6模块加载失败的问题 同事一个SUSE11sp3环境配置ipv6地址失败,提示不支持IPv6,请求帮助,第一反应是应该ipv6相关内核模块没有加载. 主要检查内容: ipv6地址 ...
- Linux 编程中的API函数和系统调用的关系【转】
转自:http://blog.chinaunix.net/uid-25968088-id-3426027.html 原文地址:Linux 编程中的API函数和系统调用的关系 作者:up哥小号 API: ...
- linux perl模块检测,Linux有问必答:如何用Perl检测Linux的发行版本
提问:我需要写一个Perl程序,它会包含Linux发行版相关的代码.为此,Perl程序需要能够自动检测运行中的Linux的发行版(如Ubuntu.CentOS.Debian.Fedora等等),以及它 ...
- puppet连载八:linux优化模块
linux优化模块 在服务端先建立文件limits.con vi /puppet/soft/limits.conf soft nofile 102400 hard nofile 102400 soft ...
- linux下的挂载点和分区是什么关系(详解挂载点)
百度定义: 挂载点实际上就是linux中的磁盘文件系统的入口目录,类似于windows中的用来访问不同分区的C:.D:.E:等盘符.其实winxp也支持将一个磁盘分区挂在一个文件夹下面,只是我们C:. ...
- Linux 音频驱动(五) ALSA音频驱动之PCM逻辑设备
目录 1. 前言 2. PCM逻辑设备 2.1. 创建 PCM逻辑设备: 2.2. PCM逻辑设备文件操作函数集:snd_pcm_f_ops[] 2.3. Open PCM逻辑设备 2.4. Writ ...
最新文章
- SAP PP 启用了HU管理下的工单入库
- centos7下安装intel Media Server Studio记录
- UVA10305 Ordering Tasks
- 【读书笔记】练习的心态
- 解决“计划任务不存在的问题”方法
- Jquery鼠标点击出现文字
- Spring AMQP ActiveMQ教程
- Android四级缓存,RecyclerView的四级缓存-初探
- go语言和python的区别_golang和python有什么区别?
- 拓展深度学习一种变相的马尔可夫链
- 网络工程师HCIE-RS-路由回馈问题(通俗易懂!)
- 智能优化算法:纵横交叉算法-附代码
- Atitit Atitit 零食erp数据管理---世界著名零食系列数据.docx世界著名零食
- PCB制图 | Altium Designer 20下载与安装
- spark 车流量项目实战
- Linux下的围棋软件,在Linux下和电脑下围棋
- java对接银联商务扫码支付(银联商务扫码支付文档)
- Ubuntu 20.04 LTS 修改IP地址
- 2017年CSTQB/ISTQB认证考试时间表
- 天龙八部荣耀版体验服服务器未响应,《天龙八部荣耀版》体验服评测:用竖版画面重新诠释天龙江湖...