alsa.conf相关

http://blog.chinaunix.net/u1/38994/showart_2246057.html

 

Alsa.conf 
Alsa.conf中主要的一些内容包括:用hook读取了/etc/asound.conf 和 ~/.asoundrc这两个配置文件: 
@hooks [ 

func load 
files [ 
"/etc/asound.conf" 
"~/.asoundrc" 

errors false 



设置了default pcm的一些默认参数,如,默认使用Card 0 ,Device 0作为音频设备等等。 

defaults.ctl.card 0 
defaults.pcm.card 0 
defaults.pcm.device 0 
defaults.pcm.subdevice -1 
defaults.pcm.nonblock 1 
defaults.pcm.ipc_key 5678293 
。。。 


设置了Alsa 内置的一些plugin的接口参数,例如file: 
pcm.file { 
@args [ FILE FORMAT ] 
@args.FILE { 
type string 

@args.FORMAT { 
type string 
default raw 

type file 
slave.pcm null 
file $FILE 
format $FORMAT 


File plugin的作用是将PCM数据流存储到文件中。 

此外,通常alsa.conf还会载入cards/aliases.conf ,设置一些声卡的别名等,这个我是不需要了。 
在aliases.conf 的结尾还有以下一段: 

<confdir:pcm/default.conf> 
<confdir:pcm/dmix.conf> 
<confdir:pcm/dsnoop.conf> 

用来读入/usr/share/alsa/pcm目录下所列的那3个文件 
分别设置 默认PCM设备的相关参数,dmix是用来实现播放时软件混音的内建plugin,dsnoop则是用来实现录音时多路分发的内建plugin。 

3 一些配置和使用实例 

3.1 使用蓝牙设备 
在/etc/asound.conf中添加下列一项用来使用蓝牙的A2DP设备 

# device for bluetooth 
pcm.bluetooth{ 
type bluetooth 
device 00:02:5B:00:C1:A0 


然后调用 aplay –D bluetooth sample.wav 播放。 

需要注意,为了使用该设备,你需要 /usr/lib/alsa-lib/libasound_module_pcm_bluetooth.so 这一个蓝牙plugin的库文件。这是在Bluez相关的包里,和Alsa本身没有关系。从这里,我们也可以看出alsa的外部plugin和配置文件之 间的名字关系规则: libasound_module_pcm_####.so 这里的#### 就是你再conf文件中pcm.xxxx 里所写的名字。 

3.2 使用非默认的声卡设备通道 
在我的板子上,Buildin的Audio硬件在Alsa子系统中实现了两个硬件通道,一个是HIFI通道,另一个是语音通道,所以我添加了如下 配置: 

#device for voice channel 
pcm.voice{ 
type plug 
slave{ 
pcm "hw:0,1" 



通过语音通道播放声音的调用的方式: aplay –D voice sample.wav 

这样的写法说明我通过plug这plugin对音频数据进行自动的采样率,通道等调整后,将数据送到我的第0个card的序号为1的device 上。 
实际上,如果不写上述配置文件,用 aplay -D "plug:SLAVE='hw:0,1'" sample.wav 也可以得到同样的结果。 

Hifi通道播放声音直接使用 Aplay sample.wav即可 也就是Aplay –D default sample.wav 

3.3 其它 
混音: 
aplay -D plug:dmix sample.wav & 
你可以通过多次调用上述命令来测试多个音频数据的混音。 

Dump音频数据: 
aplay -D "plug:'file:FILE=/tmp/dump.bin'" sample.wav 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值