linux音频设备接口,linux音频设备驱动读书笔记

在linux系统中,先后出现了音频设备的两种框架:OSS和ALSA.

针对不同的数字音频子系统,出现了几种微处理器或DSP与音频器件间用于数字转换的接口。

音频设备的硬件接口

(1)PCM接口。

(2)IIS接口。

(3)AC97接口。

在CD,MD,MP3随身听多采用IIS接口,移动电话会采用PCM接口,具有音频功能的PDA则多使用和PC一样的AC97编码格式。

linux OSS音频设备驱动

OSS标准中有两个最基本的音频设备:mixer(混音器)和dsp(数字信号处理器)。

在声卡的硬件电路中,mixer是一个很重要的组成部分,它的作用是将多个信号组合或者叠加在一起,对于不同的声卡来说,其混音器的作用可能各不相同。在OSS驱动中,/dev/mixer设备文件时应用程序对mixer进行操作的软件接口。

OSS用户空间编程

1.dsp编程

对OSS驱动声卡的编程使用linux文件接口函数,dsp接口的操作一般包括如下几个步骤

(1)打开设备文件/dev/dsp。

(2)如果有需要,设置缓冲区大小。

(3)设置声道(channel)数量。

根据硬件设备和驱动程序的具体情况,可以设置为单声道或者立体声。

(4)设置采样格式和采样频率。

(5)读写/dev/dsp实现播放和录音。

linux ALSA音频设备驱动

ALSA的主要特点,

(1)支持多种声卡设备。

(2)模块化的内核驱动程序。

(3)支持SMP和多线程。

(4)提供应用开发函数库(alsa-lib)以简化应用程序开发。

(5)支持OSS API,兼容OSS应用程序。

ALSA系统包括 驱动包alsa-driver,开发包alsa-libs,开发板插件alsa-libplugins,设置管理工具包alsa-utils,其他声音相关处理小程序包alsa-tools,特殊音频固件支持包alsa-firmware,OSS接口兼容模拟层工具alsa-oss,其中只有驱动包是必需的。

对于每个声卡而言,必须创建一个card实例,card是声卡的“总部”,他管理这个声卡上的所有设备(组件),如PCM,mixers,MIDI,synthesizer等。因此,card和组件式ALSA声卡驱动中的主要组成元素。

PCM设备

每个声卡最多可以有四个PCM实例,一个PCM实例对应一个设备文件。PCM实例由PCM播放和录音流组成,而每个PCM流又由一个或多个PCM子流组成,

阅读(2255) | 评论(0) | 转发(1) |

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值