Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305750
  • 博文数量: 75
  • 博客积分: 2710
  • 博客等级: 少校
  • 技术积分: 706
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-21 14:19
文章分类

全部博文(75)

文章存档

2011年(10)

2010年(22)

2009年(43)

我的朋友

分类: 嵌入式

2010-05-17 15:03:17

开放声音系统(Open Sound System,OSS)是一种可移植声音接口。
 
在2.4.x系列之前的Linux内核中,OSS是唯一支持的声音系统。从2.5版本开始,ALSA(Advanced Linux Sound Architecture)被引进,OSS接口因为其非开放源代码而变成Linux内核开发者们所不建议使用的。ALSA包括了一个可选的OSS虚拟模式,这使得从应用程序角度看来操作系统好像真的使用OSS。

对于只在Linux上运行的程序,ALSA是推荐的接口。然而,希望在Unix风格的系统中保持可移植性的软件就只能使用OSS(或者同时支持两者)。

ALSAAdvanced Linux Sound Architecture(高级Linux声音体系)

ALSA是为声卡提供驱动的Linux内核组件,以替代原先的OSS(开放声音系统)。 一部分的目的是支持声卡的自动配置,以及完美的处理系统中的多个声音设备,这些目的大多都已达到。另一个声音框架JACK使用ALSA提供低延迟的专业级音频编辑和混音能力。

这个项目开始于为1998年Gravis Ultrasound所开发的驱动,它一直作为一个单独的软件包开发,直到2002年他被引进入Linux内核的开发版本 (2.5.4-2.5.5)。从2.6版本开始ALSA成为Linux内核中默认的标准音频驱动程序集,OSS则被标记为废弃。

ALSA是一个完全开放源代码的音频驱动程序集,除了像OSS那样提供了一组内核驱动程序模块之外,ALSA还专门为简化应用程序的编写提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库内部处理。当然ALSA也提供了类似于OSS的系统接口,不过ALSA的开发者建议应用程序开发者使用音频函数库而不是驱动程序的API。

ALSA的官方网站是

以下是ALSA的官方介绍:
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system. ALSA has the following significant features:

  • Efficient support for all types of audio interfaces, from consumer sound cards to professional multichannel audio interfaces.
  • Fully modularized sound drivers.
  • SMP and thread-safe design.
  • User space library (alsa-lib) to simplify application programming and provide higher level functionality.
  • Support for the older Open Sound System (OSS) API, providing binary compatibility for most OSS programs.

ALSA官方主页提供以下软件包:

alsa-driver:alsa的驱动程序,2.6的内核中已经有了。

alsa-lib:alsa库文件,用到alsa声音接口的程序(包括alsa-utils)需要用到。

alsa-utils:包含许多可以控制你的声卡的工具。

alsa-tools:包含一些声卡的高级设置工具。

alsa-fireware:包含某些声卡的固件。

alsa-plugins:提供用以创建虚拟设备的插件。

alsa-oss:包括alsa oss兼容库,对于使用alsa oss声音接口的程序很有用。

pyalsa:ALSA的Python接口。

可以在ALSA的非官方Wiki获取更多有用的信息,网址为

阅读(1289) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~