没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Alsa 是 Linux 高级音频接口。面对众多的音频设备,Alsa 为 Linux 音频开发人员提
供了一套标准的访问机制,使得音频开发变得十分容易。不信?下面我们就利用它编写一
个简单的录音/播音程序,不过这需要你有一定的计算机语言基础。
一个典型的音频程序应该具有以下结构:
打开音频设备
为设备设置读写参数
向音频设备读/写音频数据
关闭设备
Alsa 库为我们实现这些操作提供了丰富的接口。
首先让我们封装一个打开音频设备的函数:
snd_pcm_t *pcm_handle;
bool device_open(int mode){
if (snd_pcm_open (&pcm_handle, “default” , mode , 0) < 0)
return false;
return true;
}
snd_pcm_open 是 Alsa 库提供的打开设备调用函数,这里我们指定打开缺省的音频
设备,并根据参数 mode 将设备置为录音或是播放状态,如果设备打开成功,
pcm_handle 便指向该设备句柄,我们用全局变量保存起来,方便以后使用。
第二步是设置参数,参数设置不当将会导致音频设备无法正常工作。在设置参数前,
我们需要了解一下各个参数的含义以及一些基本概念。
样本长度(sample):样本是记录音频数据最基本的单位,常见的有 8 位和 16 位。
通道数(channel):该参数为 1 表示单声道,2 则是立体声。
桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积。
采样率(rate):每秒钟采样次数,该次数是针对桢而言。
小光明
- 粉丝: 4
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页