编译alsa-lib, alsa-util以使用声卡:

3.1 alsa-lib :

sudo mv /usr /usr_bak

export PATH=/usr_bak/local/sbin:/usr_bak/local/bin:/usr_bak/sbin:/usr_bak/bin:/sbin:/bin:/usr_bak/games:/usr_bak/local/arm/4.3.2/bin

./configure --host=arm-linux

make

sudo mkdir /usr

sudo chown book:book /usr

make install

sudo cp -rf /usr /work/projects/alsa/

sudo rm -rf /usr

sudo mv /usr_bak /usr

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin

把头文件和库复制进交叉工具链里

cd /work/projects/alsa/usr/include

sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

cd /work/projects/alsa/usr/lib

sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

把库复制到根文件系统的lib目录下

cd /work/projects/alsa

sudo -rfd usr /work/nfs_root/fs_mini_mdev_new

3.2 alsa-util

3.2.1 先编译依赖:ncurses-5.9.tar.gz

./configure --host=arm-linux --prefix=$PWD/tmp --with-shared

make && make install

把头文件和库复制进交叉工具链里

cd /work/projects/alsa/ncurses-5.9/tmp/include/ncurses

sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

cd /work/projects/alsa/ncurses-5.9/tmp/include/

sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

cd /work/projects/alsa/ncurses-5.9/tmp/lib

sudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

把库复制到根文件系统的lib目录下

cd /work/projects/alsa/ncurses-5.9/tmp/lib

sudo cp *so* -rfd /work/nfs_root/fs_mini_mdev_new/lib

3.2.2 编译alsa-util:

./configure --host=arm-linux --prefix=$PWD/tmp --with-curses=ncurses --disable-xmlto --disable-nls

make

sudo make install

3.2.3 测试

mkdir /dev/snd

cd /dev/snd/

ln -s /dev/controlC0

ln -s /dev/pcmC0D0p

ln -s /dev/pcmC0D0c

播放:

aplay Windows.wav

调音量:

amixer controls

amixer cget numid=1

amixer cset numid=1 30