二、Audio-Linux ALSA整体框架

一、音频架构简介

ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制.

想了解更多关于alsa这一开源项目的信息和只是请查看一下网站:https://www.alsa-project.org/

在这里插入图片描述

alsa-lib:在上图中可以看出ALSA对上曾提供alsa-lib库供上层调用,常见alsa 用户库接口,常见有 tinyalsa、alsa-lib

ASoC CORE:asoc 是建立在标准 alsa core 基础上,为了更好支持嵌入式系统和应用于移动设备的音频 codec 的一套软件体系

alsa-dricer:音频硬件设备驱动,由三大部分组成,分别是 Machine、Platform、Codec

二、音频接口简介

进入系统以后查看一下/dev/snd 目录,有如下文件:

controlC0:用于声卡控制,C0 表示声卡 0。
pcmC0D0c 和 pcmC0D1c:用于录音的 pcm 设备,其中的“COD0”和“C0D1”分别表示 声卡 0 中的设备 0 和设备 1,最后面的“c”是 capture 的缩写,表示录音。
pcmC0D0p 和 pcmC0D1p:用于播放的 pcm 设备,其中的“COD0”和“C0D1”分别表示 声卡 0 中的设备 0 和设备 1,最后面的“p”是 playback 的缩写,表示放音。
timer:定时器。

猜你喜欢

转载自blog.csdn.net/weixin_45309916/article/details/124934338