Audio之ALSA框架基础

前言

Audio系统中ALSA是在开源系统中使用最多的框架,本文介绍下这方面的基础知识点便于未来的拓展和深入挖掘。

 

1. ALSA系统架构

  • 系统架构图

 

  • 系统层次介绍

ALSA从系统的角度可以分为三个层次,自上而下分别为 alsa-utils,alsa-lib和asoc driver;

alsa-utils:提供了一些基于alsa-lib之上的bin可执行文件来录制或是播放音频文件

alsa-lib:是userspace到kernel等的标准api

asoc driver:kernel层alsa 框架层

 

2. 主流OS差异

在PC主机上如ubuntu centos等系统上之上都是使用上图中左边的standard OS架构, 这种相对比较复杂。

在android手机系统上,google对应用层的部分进行了裁剪,使用的是右边的架构,这种比较简单。

 

3. 代码路径

userspace的代码路径如下:

https://git.alsa-project.org/,主流的开发人员只需要关注alsa-utils.git,alsa-lib.git这两个仓就可以了。

kernel alsa的代码可以在linux的git仓库中得到,https://www.alsa-project.org/wiki/Main_Page已经不再单独维护,如下:

https://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc.git/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值