一.ubuntu主机上的操作
1. alsa-lib编译
版本alsa-lib-1.0.23
./configure --host=arm-linux --target=arm-linux --prefix=/usr/share/arm-alsa --enable-static --enable-shared --disable-python
make
sudo make install
其中,--host是指目标主机
--prefix是制定安装目录
2.alsa-utils编译
版本alsa-utils-1.0.23
PKG_CONFIG_PATH="/usr/share/arm-alsa/lib/pkgconfig" \
LDFLAGS="-L/usr/share/arm-alsa/lib -lpthread -lc -lgcc" \
CFLAGS="-I/usr/share/arm-alsa/include" \
./configure \
--host=arm-linux \
--target=arm-linux \
--prefix=/usr/share/arm-alsa \
--disable-alsamixer \
--disable-xmlto \
make
sudo make install
其中,PKG_CONFIG_PATH、LDFLAGS、CFLAGS是指定编译alsa-utils的环境(头文件,库),要与编译alsa-lib的--prefix保持一致
二、开发板上操作
1.vi /etc/profile
添加如下内容
if [ !-d /dev/snd/ ]; then
echo "make snd node."
mkdir /dev/snd
ln -s /dev/pcmC0D0c /dev/snd/pcmC0D0c
ln -s /dev/pcmC0D0p /dev/snd/pcmC0D0p
ln -s /dev/timer /dev/snd/timer
ln -s /dev/controlC0 /dev/snd/controlC0
ln -s /dev/mixer /dev/snd/mixer
fi
exportALSA_CONFIG_PATH=/usr/share/arm-alsa/share/alsa/alsa.conf
2.将相关文件拷贝到开发板
1).sudo cp -rfa /usr/share/arm-alsa/share/alsa/* $rootfs/lusr/share/arm-alsa/share/alsa/
2).sudo cp -rfa /usr/share/arm-alsa/lib/* $rootfs/lusr/share/arm-alsa/lib/
3).sudo cp -rfa /usr/share/arm-alsa/bin/* $rootfs/lusr/share/arm-alsa/bin/
3).sudo cp -rfa /usr/share/arm-alsa/sbin/* $rootfs/lusr/share/arm-alsa/sbin/
三 注意事项
在有些音频设备上,默认是静音的,我的就是;需要解除静音
Playback (HeadPhone):-
$ amixer sset 'Headphone' unmute
$ amixer sset 'Right Headphone Out Mux' 'Headphone'
$ amixer sset 'Left Headphone Out Mux' 'Headphone'
$ amixer sset 'Right HP Mixer PCM' unmute
$ amixer sset 'Left HP Mixer PCM' unmute
Capture (LineIn):-
$ amixer sset 'Right Capture Source' 'Line'
$ amixer sset 'Left Capture Source' 'Line'