下载alsa-lib和alsa-utils
www.alsa-project.org/main/index.php/Download
上面是官方的地址,可是alsa-lib总下载不了,编译alsa-lib
- 解压alsa-lib-1.2.3.2.tar.bz2
- 进入alsa-lib-1.2.3.2目录
- ./configure --host=arm-linux CC=arm-linux-gcc CXX=arm-linux-g++ --prefix=/usr/local
- make & make install
编译alsa-utils
- 同上
- 同上
- ./configure –host=arm-linux CFLAGS=”-I/usr/local/include” LDFLAGS=”-L/usr/local/lib ” CC=arm-linux-gcc CXX=arm-linux-g++ --prefix=/usr/local/myfile
- make & make install
说明:这里CFLAGS和LDFLAGS使用的是’2’中alsa-lib在build目录下生成的include文件和lib文件。
拷贝文件到开发板
- 将’2’中得到的/usr/local/lib下的libasound.*复制到开发板的/lib目录下,将/usr/local /share文件复制到开发板的同样的文件位置(即在开发板上也要这样一个位置)
说明:share文件包含了一些配置文件alsa.conf等 - 将/usr/local/myfile/bin目录下的aplay复制到开发板
- 将’2’中得到的/usr/local/lib下的libasound.*复制到开发板的/lib目录下,将/usr/local /share文件复制到开发板的同样的文件位置(即在开发板上也要这样一个位置)
在开发板上ls -l /dev/snd看看系统是否已经有了设备节点,如果没有,需要手动创建。
mkdir /dev/snd
mknod /dev/snd/controlC0 c 116 0
mknod /dev/snd/pcmC0D0p c 116 16
mknod /dev/snd/pcmC0D0c c 116 24
mknod /dev/snd/seq c 116 1
mknod /dev/snd/hwC0D0 c 116 4
mknod /dev/snd/timer c 116 33
可以通过cat /proc/asound/devices,正常会看到一些设备来决定创建哪些设备节点。
0: [ 0] : control
16: [ 0- 0]: digital audio playback
24: [ 0- 0]: digital audio capture
33: : timer
- 播放文件
/bin/aplay Front_Center.wav
部分参考:
http://blog.csdn.net/reille/article/details/5845913
http://ackerman.iteye.com/blog/828912