Linux ALSA驱动框架
文章平均质量分 94
m0_46525308
记录自己的学习…
展开
-
Linux ALSA驱动框架分析之(三):Control逻辑设备的创建
Control接口Control接口主要让用户空间的应用程序可以访问和控制音频codec芯片中的多路开关,滑动控件等,进行音量控制、静音等。在ALSA中,control用snd_kcontrol结构体描述。创建一个新的control至少需要实现 snd_kcontrol_new中的info、get和put这3个成员函数,snd_kcontrol_new结构体的定义如下:struct snd_kcontrol_new { /* 控制类型,如: SNDRV_CTL_ELEM_IFACE_原创 2021-04-03 00:42:07 · 2007 阅读 · 2 评论 -
Linux ALSA驱动框架分析之(二):pcm逻辑设备的创建
pcm设备的主要功能就是:playback,把用户空间的应用程序发过来的PCM数据进行D/A转换,转化为人耳可以辨别的模拟音频。capture,把麦克风或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号。声卡可以包含多个pcm设备。一个pcm实例由一个playback stream和一个capture stream组成,这两个stream又分别有一个或多个substreams组成。snd_pcm结构体描述一个pcm设备,定义如下:struct snd_pcm原创 2021-04-03 00:40:08 · 1706 阅读 · 1 评论 -
Linux ALSA驱动框架分析之(一):架构介绍
音频相关概念声音的采样我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,量化之后就行进行编码。PCM(Pulse Code Modulation)即脉冲编码调制。在PCM过程中,将输入的模拟信号进行采样、量化和编码,PCM信号的两个重要指标是采样频率和量化精度。衡量量化的指标就是采样位数(深度):即指描述数原创 2021-04-03 00:37:44 · 2862 阅读 · 0 评论