文章目录
简述
ALSA是Linux系统中为声卡提供驱动的内核组件。它提供了专门的库函数来简化相应应用程序的编写。相较于OSS的编程接口,ALSA的函数库更加便于使用。
对应用程序而言ALSA无疑是一个更佳的选择,因为它具有更加友好的编程接口,并且完全兼容于OSS。
资源 | 链接 |
---|---|
alsa 开发包 | alsa-lib-1.0.22.tar.bz2 |
alsa 工具包 | alsa-utils-1.0.22.tar.bz2 |
Alsa Lib 的编译安装
-
将两个压缩包解压后放入到移植目录
-
配置, 编译
$ ./configure --prefix=/home/link/Porting_software/_install --host=arm-linux --disable-python $ make
-
安装
$ sudo -s #要管理员 $ make install
Alsa Util 的编译安装
-
配置, 编译
$ ./configure --prefix=/home/link/Porting_software/_install \ --host=arm-linux \ --with-alsa-prefix=/home/link/Porting_software/_install/lib/ \ --with-alsa-inc-prefix=/home/link/Porting_software/_install/include/ \ --disable-alsamixer \ --disable-xmlto $ make
-
安装
$ sudo -s #需要管理员 $ make install
移植
我们需要的两个工具 aplay
(播放音频) 以及 arecord
(录音), 将安装好的两个工具移植到开发板.
-
Ubuntu 压缩安装包
$ tar -zcvf alsa.tar.gz _install/
-
开发板解压压缩包
$ tar -zxvf alsa.tar.gz -C .
-
将
_install/bin/
里的aplay
和arecord
两个文件移动到/bin
.$ mv _install/bin/aplay _install/bin/arecord /bin/ $ cd /bin && ls
-
将
_install/share/alsa/
移动到/usr/local/alsa/share/
里, 如果没有, 就创建一个再放进去$ cp /_install/share/alsa/ /usr/local/alsa/share/
-
将
_install/lib/libasound.so.2
拷贝到开发板中/lib
中$ cp _install/lib/libasound.so.2 /lib/
-
设置音频文件相关设备节点
$ mkdir /dev/snd $ cd /dev/snd $ mknod dsp c 14 3 $ mknod audio c 14 4 $ mknod mixer c 14 0 $ mknod controlC0 c 116 0 $ mknod seq c 116 1 $ mknod pcmC0D0c c 116 24 $ mknod pcmC0D0p c 116 16 $ mknod pcmC0D1c c 116 25 $ mknod pcmC0D1p c 116 17 $ mknod timer c 116 33
(1)controlC0:音频控制设备文件,例如通道选择,混音,麦克风的控制等;
(2)pcmC0D0c:声卡0设备0的录音设备,c表示capter;
(3)pcmC0D0p:声卡0设备0的播音设备,p表示play;
(4)timer:定时器设置。
总结
由于我的板子原本已经安装好了, 所以步骤应该有些错漏… 进行操作的时候一定要记得进入到对应的目录…