如果运行aplay -h,提示命令找不到,说明还没有安装ALSA测试工具alsa-utils。
网上有很多相关的资料,我就是按照网上查的步骤一步步做的,只是中间出现过一次小问题,最后解决了,从开始下载到最后安装一共花了半个多小时。
我们已经知道,ALSA包括很多包,但主要的就3个,alsa-driver,alsa-lib和alsa-utils,但一般现在的内核已经有了alsa-driver,也一般支持ALSA(当然如果不放心,可以检查一下,检查方法不再赘述),所以不需要再下载alsa-driver了。只需要下载和安装alsa-lib和alsa-utils。
1、alsa-lib 包含ALSA库函数
编译安装步骤:
1)从www.alsa-project.org下载alsa-lib包
2)解压:tar xvjf alsa-lib-xx.bz
3)进入目录:cd alsa-lib-xx
4)配置:./configure -host=arm-linux CC=arm-linux-gcc -prefix=/home/xx/alsa_lib -enable-shared -disable-python
这里,网上写的都是:./configure -host=arm-linux CC=arm-linux-gcc -prefix=/home/xx/alsa_lib -enable-static -enable-shared -disable-python -with-configdir=/home/xx/share -with-plugindir=/xx/alsa_lib
但我试了一下,发现会提示:不能static与shared同时enable,于是我就把static和shared都去掉了,结果后来编译alsa-utils的时候出错了(下面会说)。-with-configdir与-with-plugindir这两个目录,可以不设置,如果不设置的话,默认与-prefix目录相同。但最好还是要设置,因为-with-configdir是ALSA的安装目录,如果要移植到开发板,需要将这个完整的目录拷贝到开发板。
等一两分钟,如果配置成功,会生成Makefile
5)编译:make
6)安装:make install
2、alsa-utils 包含测试ALSA的小工具,比如aplay
编译安装步骤:
1)从www.alsa-project.org下载alsa-utils包,注意,要与alsa-lib的版本相同。
2)解压:tar xvjf alsa-utils-xx.bz
3)进入目录:cd alsa-utils-xx
4)配置:/configure –host=arm-none-linux-gnueabi –prerix=/xx/alsa_utils -with-alsa-inc-prefix=/xx/alsa_lib/include -with-alsa-prefix=/xx/alsa_lib/lib -disable-alsamixer -disable-xmlto
刚开始出错:configure error:Sufficiently new version of libasound not found
查了一下原因,说是没有安装alsa-lib,但是我安装了啊,于是又从头开始配置、编译、安装了一遍alsa-lib,还是不行。于是,我就想是不是配置alsa-lib的时候,enable选项不对,于是我就加上了enable=shared,然后又试了试,结果就可以了。
配置成功,生成Makefile
5) 编译:make
6)安装 make install
至此,就完成。 然后我试了一下,aplay -h,结果就出来了信息。
于是,我试着播放了wav文件,aplay xx.wav,结果能听到声音,便知道成功了。
但我试了试,aplay xx.mp3,结果只能听到莎莎的噪声。这个正常不?还有待探究。