目录
首先我们需要下载两个所要用到的库文件(基于Ubuntu)
链接:https://pan.baidu.com/s/1sdf2gTtPKJ1n9botHXHd2w
提取码:7c8r
下载这两个文件:
把两个文件放到Ubuntu的家目录下(尽量别再共享文件夹操作),然后步骤如下:
一:先配置ALSA库文件
1、先解压放到家目录下ALSA的源文件:
tar xjvf alsa-lib-1.0.22.tar.bz2
2、解压后进去解压得到的文件夹执行以下命令:
./configure \
--prefix=/home/xyq/tools \
--host=arm-none-linux-gnueabi \
--disable-python
(1)prefix:指定库文件的安装路径(你想把后面编译得到的ALSA库所放的路径) (2)host :指定交叉编译器
(3)disable-:后面加上一个程序名表示不需要产生的程序
(4)\:表示换行,为了美观把一行语句分多行时,告诉系统我的语句是连接着下一行的
3、配置好以后执行
make
sudo make install
二、配置ALSA所需的配套 utils 工具集
1、解压刚才放到家目录下的utils文件
tar xjvf alsa-utils-1.0.22.tar.bz2
2、配置utils
configure \
--host=arm-none-linux-gnueabi \
--prefix=/home/xyq/tools \
--with-alsa-prefix=/home/xyq/tools/lib/ \
--with-alsa-inc-prefix=/home/xyq/tools/include/ \
--disable-alsamixer \
--disable-xmlto
(1)prefix:指定库文件的安装路径(你想把后面编译得到的ALSA库所放的路径) (2)host :指定交叉编译器
(3)disable-:后面加上一个程序名表示不需要产生的程序
(4)\:表示换行,为了美观把一行语句分多行时,告诉系统我的语句是连接着下一行的
(5)with-alsa-prefix:指定编译utils所需的alsa-lib的头文件和库
(其他操作可使用./configure -help查看其他操作)
3、配置好后执行:
make
make install
当全部弄好以后,我们的就可以在我们指定的路径使用ls -l看到安装得到的:
然后我们就可以把这个文件夹压缩放到我们的开发板上面去了
(切记:我在Ubuntu上的存放的路劲是在/home/xyq/tools,然后放到开发板上也必须在开发板的根目录下创建一样的文件路劲去存放这个ALSA库,因为编译时我们已经指定了这个库去找头文件和库的路劲了,否则会报错说找不到编译时的路劲)
记得最后配置一下开发板的环境变量:
export PATH=$PATH:/home/xyq/tools/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xyq/tools/lib
(环境变量的路径修改成自己所对应的路径)
全部弄完以后我们就可以去尝试地录音了:
录音命令:
arecord -d3 -c1 -r16000 -twav -fS16_LE a.wav
命令详解:
arecord:录音地命令(程序)
-d:录音时长(duration)
-c:音轨(channels)
-r:采样频率(rate)
-t:封装格式(type)
-f:量化位数(format)
播放命令:
aplay a.wav
三、编译命令
当想编译程序移植到arm开发板可使用以下命令进行编译生成可执行文件
arm-linux-gcc -o record record.c -I/home/xyq/tools/include -L/home/xyq/tools/lib -lasound
参数说明:
arm-linux-gcc:编译工具
record :生成的可执行文件
record.c :源文件
-I/home/xyq/tools/include:所需的头文件在的路径
-L/home/xyq/tools/lib:库文件所在的路径
-lasound:所需链接的库
需要了解ALSA的更多函数API可进入ALSA官网进行查询