ALSA架构简介
来源:互联网 发布:怎么在淘宝卖游戏装备 编辑:程序博客网 时间:2024/04/30 12:26
ALSA (Advanced Linux Sound Architecture(高级Linux声音体系)的缩写)是为声卡提供驱动的Linux内核组件,以替代原先的OSS(开放声音系统)。ALSA除了像OSS那样提供一组内核驱动程序模块以外,还专门为简化应用程序的编写提供了相应的库函数,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一点。
ALSA的主要特点如下:
支持多种声卡设备。
模块化的内核驱动程序。
支持SMP和多线程。
提供应用开发函数库以简化应用程序开发。
支持OSS API,兼容OSS应用程序。
ALSA具有更加友好的编程接口,并且完全兼容于OSS,对应用程序来讲无疑是一个更佳地选择。ALSA系统包括驱动包alsa-driver,开发包alsa-libs,开发包插件alsa-libplugins,设置管理工具包alsa-utils,其他声音相关处理小程序包alsa-tools,特殊音频固件支持包alsa-firmware,OSS接口兼容模拟层工具alsa-oss共7个子项目,其中只有驱动包是必须的。
alsa-driver指内核驱动程序,包括硬件相关的代码和一些公共代码,非常庞大。
alsa-libs指用户空间的函数库,提供给应用程序使用,应用程序应包括头文件asoundlib.h。并使用共享库libasound.so。
alsa-utils包含一些基于ALSA的用于控制声卡的应用程序,如alsaconf(侦测系统中声卡并写一个适合的ALSA配置文件),aplay(基于命令行的声音文件播放),arecord(基于命令行的声音文件录制)等。
目前ALSA内核提供给用户空间的接口有:
信息接口(proc/asound)
控制接口(dev/snd/controlCX)
混音器接口(dev/snd/mixerCXDX)
PCM接口(dev/snd/pcmCXDX)
Raw迷笛接口(dev/snd/midiCXDX)
音序器接口(dev/snd/seq)
定时器接口(dev/snd/timer)
和OSS类似,上述接口也以文件的方式被提供,不同的是这些接口被提供给alsa-lib使用,而不是直接给应用程序使用的。应用程序最好使用alsa-lib,或者更高级的接口。
下图所示为ALSA声卡驱动与用户空间体系结构的简图,从中可以看出ALSA内核驱动与用户空间库及OSS之间的关系
- ALSA架构简介
- ALSA架构简介
- ALSA架构简介
- ALSA架构简介
- ALSA驱动之-------ALSA架构简介
- ALSA架构简介和ALSA学习
- Linux ALSA声卡驱动:ALSA架构简介
- Linux ALSA框架之一:ALSA架构简介
- Linux ALSA框架之一:ALSA架构简介
- ALSA驱动之-------ALSA架构简介
- Linux ALSA声卡驱动:ALSA架构简介
- Linux ALSA声卡驱动之一:ALSA架构简介
- Linux ALSA声卡驱动之一:ALSA架构简介
- Linux ALSA声卡驱动之一:ALSA架构简介
- Linux ALSA声卡驱动之一:ALSA架构简介
- Linux ALSA声卡驱动之一:ALSA架构简介
- Linux ALSA声卡驱动之一:ALSA架构简介
- Linux ALSA声卡驱动之一:ALSA架构简介
- Xcode删除文件警告missing file
- MFC 在某种excel表后边插入一张表
- 28个实用的源码/文档比较合并工具
- Linux Shell中的输入与输出
- 如何恢复照片视频和音乐从HTC
- ALSA架构简介
- (function($) {})(jQuery)
- 实战nginx基础知识(一)1.2 windows 安装nginx
- opencv识别正方形(矩形)代码
- Ubuntu下看股票行情
- 图集:人类史上信息储存技术重要里程碑回顾
- 性能调优攻略
- CUDA中如何在设备上分配全局变量
- (Relax 贪心1.7)POJ 1716 Integer Intervals