什么是ALSA
ALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。在2.6系列内核中,ALSA已经成为默认的声音子系统,用来替换2.4系列内核中的OSS(Open Sound System,开放声音系统)。 ALSA的主要特性包括:高效地支持从消费类入门级声卡到专业级音频设备所有类型的音频接口,完全模块化的设计, 支持对称多处理(SMP)和线程安全,对OSS的向后兼容,以及提供了用户空间的alsa-lib库来简化应用程序的开发。
Gentoo上的ALSA
从历史上来说,Gentoo提供了两种方法可以使ALSA运行在您的系统上:内核自带的驱动和外部的alsa-driver软件包。这两种方案基本上完成的是同一项任务;这使得提供对外部软件包的支持异常困难和耗时。Gentoo维护者决定不再继续对alsa-driver软件包进行支持,而是将他们的资源集中在Linux内核中的ALSA驱动部分。这份指南将只集中介绍如何通过在内核自带的驱动来配置ALSA。 Jaroslav Kysela过去是这个项目的领导者,这个项目开始于为1998年Gravis Ultrasound所开发的驱动,它一直作为一个单独的软件包开发,直到2002年他被引进入 linux内核的开发版本 (2.5.4-2.5.5)1。从2.6 版本开始ALSA成为Linux内核中默认的标准音频驱动程序集,OSS则被标记为废弃。 ALSA是一个完全开放源代码的音频驱动程序集,除了像OSS那样提供了一组内核驱动程序模块之外,ALSA还专门为简化应用程序的编写提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库内部处理。当然 ALSA也提供了类似于OSS的系统接口,不过ALSA的开发者建议应用程序开发者使用音频函数库而不是驱动程序的API。 Linux中ALSA的主要文件: include/sound/driver.h sound/core/*.c
注:OSS(Open Sound System)是Linux中的另外一个音频驱动程序框架。
来自百度百科:http://baike.baidu.com/view/1558228.htm
上面是对于linux音频系统概念的解释。总的来说,Alsa在整个linux系统中还是比较复杂和重要的。需要花很多的时间去学习和实践。
写文的目的主要还是将学习成果记录下来。
文章内容可以分为三部分:
1, ASoc Linux 平台部分
2, 音频芯片驱动部分
3, AudioInterface 或者说所 Audio HAL 部分
总的来说,应该贯穿linux 平台及驱动和Android 文件系统,几部分内容。
又有目标咯~ go!
分享到:
相关推荐
老外写的,介绍和教你alsa驱动开发。值得一读。
linux驱动开发——怎么写alsa驱动官方文档
Linux 声卡模型ALSA 源代码 alsa-driver-1.0.24
ALSA.zip(alsa-driver, alsa-lib, alsa-utils)
alsa lib 和alsa utils库编译好的alsa工具, 下载下来移植到开发板上就可以使用
alsa-lib alsa-utils 在android编译成功 warning: shared library text segment is not shareable error: treating warnings as errors 编译器的选项要加上 --no-fatal-warnings 可无论怎么加, 加到那儿都变成了...
Linux下面应用ALSA框架编写的局域网内的网络电话
alsa-utils-1.0.25 和alsa-utils-0.0.5版本包括lib库
alsa-driver-1.0.9 alsa的驱动代码
linux kernel alsa 驱动开发参考
alsa-sound recording
ALSA框架介绍-音频通路,A Tutorial on Using the ALSA Audio API,PPT
Linux ALSA 录放音 源码 Linux ALSA 录放音 源码
该资源是ALSA项目-C库参考中的sample,包括四个文件(latency.c,pcm.c,pcm_min.c,rawmidi.c,timer.c),对使用alsa-lib应用编程有参考意义
alsa-lib alsa-utils移植到arm的脚本
alsa的分析资料
音频驱动测试,包含alsa-lib库跟alsa-util工具,可用于做音频驱动时对驱动进行测试。
alsa(asoc dapm)框架分析,描述了alsa 音频驱动开发过程中一些工具的使用和驱动的分析框架
ALSA 多线程处理报underrun 寻求解决方案中
alsa-lib-1.0.29