`
地球小野花
  • 浏览: 161756 次
  • 性别: Icon_minigender_1
  • 来自: 马赛大回旋
社区版块
存档分类
最新评论

写一些ALSA的文章

 
阅读更多

什么是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!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics