| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux 声音系统 -> 正文阅读 |
|
[系统运维]Linux 声音系统 |
驱动级OSS 和ALSA OSS(Open Sound System,开放声音系统),老系统中的音频框架 ALSA(Advanced Linux Sound Architecture,高级Linux声音体系),新系统中的音频框架,用于替代老的OSS。 两者结构都差不多,但ALSA有更多的优点,具体比较参考?https://blog.csdn.net/longwang155069/article/details/53256751 只需要理解底层驱动层是ALSA框架就行。下图是转载的网络上的ALSA结构示意图 ALSA工具集也带一些命令行工具用于对声卡的操作,例如aplay arecord amixer alsamixer 等等,用于测试声卡以及实现简单的播放录制。这些工具工作于alsa,可用于诊断驱动配置问题。 PulseAudiopulseaudio,在alsa lib上又封装了一层,增加了很多pulseaudio自己定义的插件,这样大大扩展alsa lib的功能,同时混音方面也加强了 简单的来说就是增强了alsa lib的功能,下面的流程摘抄百度贴吧大神 https://tieba.baidu.com/p/3790145023?red_tag=3544148596 应用之前是app(aplay之类)-->alsa lib --->alsa driver--->发声音。 或者为了兼容之前的老的软件,Pulseaudio还支持以alsalib做为自己的输入,输出的还可以用来做为输入,挺绕,但是挺好理解,兼容之前只支持alsa lib输出的程序。 为了兼容之前的app(只支持alsa lib的程序) 更复杂一点是? pulseaudio分client和server, 所以把这个区分出来后,完整的图应该是: Phonon----->gstreamer这些属于更上层,具体的可以参考这个连接https://blog.csdn.net/meizum10/article/details/17437959 gstreamer介于软件层和音频输入层之间,优先于pulseaudio。gstreamer与众不同之处在于他不只是个音频处理框架,通过安 装解码器,你还可以通过他来播放音频视频文件。 程序音频最长的调用方式可以列出如下: APP-->Phonon----->gstreamer -->pulseaudio--->alsa lib--->alsa driver--->发声音。 由于搞开发的这帮人极度迷信代码复用以及软件分层思想,所以linux的音频系统就搞的有点复杂,然后软件开发的音频系统出了问题,先要搞清楚软件到底工作在哪一层。好在现在的linux发行版不管是对图形还是多媒体,支持都非常完美了。绝大多数情况下,音频系统自然就是可以正常使用的。 HDA AC97PC上的音频标准,现在基本都是HDA了,不过不管是AC97还是HDA标准,带头大哥都是intel真是厉害啊。搜了一下这两者区别,感觉结构上没啥大区别,HDA是新标准,功能更强大了。下面是网上嫖的一张图 可以看到,主板上集成的是HDA的控制器,下面挂的HDA link上可以挂不通的codec(D/A和A/D). 所以其实在linux终端查看声卡,lspci 能看到的 就是上面这个图里面控制器,至于codec,并没列出来?,codec可以用aplay -l 或者arecord -l 来查看 电脑声音有问题,可以用alsamixer进行查看或者调整看是否有声音,或者aplay arecord进行播放或者录音验证声卡驱动功能。 默认alsamixer 调整的声卡和chip都是Pulseaudio,可以按F6进行声卡选取 默认是Pulseaudio,选HDA intel PCH,将可以对物理声卡进行调整。 实际的问题,需要实际分析,alsa提供的工具日常用的最多就是alsamixer aplay arecord Pulseaudio同样提供工具,?在debian系的系统可以用?dpkg -L pulseaudio-utils 命令来查看所带的工具,有录音parecord,播放 paplay ,或者通用的pacat 以及pactl 等等。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 0:30:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |