交叉编译 alsa
一、alsa-lib-1.0.23移植: 1、configure
./configure --host=arm-none-linux-gnueabi --prefix=/home/linux/tools/arm_install/alsa/alsa-lib-1.0.23 --enable-static --enable-shared --disable-python --with-alsa-devdir=/dev --with-configdir=/usr/local/share/alsa --with-plugindir=/usr/local/lib/alsa_lib
配置会先对此命令中的配置项进行检查,然后实现配置。需要注意的是:配置如果出错,未必一定报错,而是会采用默认的配置选项。几个重要的配置项: 1)、--host 指定编译器,这里指定为交叉编译器。注意运行本配置命令前务必保证编译器已经可以在 Shell下直接执行了 2)、--prefix 指定编译后文件的安装路径,后续的安装命令会在该目录中创建 lib 和 include 两个目录 3)、--with-configdir 指定 conf 文件的安装目录,该目录中对我们最有用的 alsa.conf ,此文件会被直接移植到你的目标系统中 4)、--with-alsa-devdir 指定音频设备文件的目录。例如在/dev/ 目录下有(pcmC0D0c/pcmC0D0p/pcmC0D1p等) 但是有些设备的设备文件是在 /dev/snd/ (pcmC0D0c/pcmC0D0p/pcmC0D1p等。 所以"--with-alsa-devdir"是改变设备文件的选项,我的设备文件时在/dev/ 目录下,所以就是--with-alsa-devdir=/dev
2、make
make or sudo make
3、安装编译好的文件 su root //这里面为什么进入root用户,因为我sudo make install一直错误,我完全进入root用户后问题就解决了 make install
二、alsa-utils-1.0.23移植:
1、Configure
./configure --host=arm-none-linux-gnueabi --prefix=/home/linux/tools/arm_install/alsa/alsa-utils-1.0.23 --with-alsa-inc-prefix=/home/linux/tools/arm_install/alsa/alsa-lib-1.0.23/include --with-alsa-prefix=/home/linux/tools/arm_install/alsa/alsa-lib-1.0.23/lib --with-configdir=/usr/locale/share --disable-alsamixer --disable-xmlto
主要的配置选项: 1)、--host 指定编译器,与 lib 的配置选项相同 2)、--prefix 指定编译后文件的安装路径,与 lib 的配置选项相同 3)、--with-alsa-inc-prefix用来指定alsa-lib编译好的文件的include目录 4)、--with-alsa-prefix用来指定alsa-lib编译好的文件的lib目录
2、编译 make
3、安装编译好的文件 su root make install
三、将 lib 和 utils 文件系统中,在目标板上,以下文件必须被拷贝至对应位置:
alsa-lib的库文件 1、cp /home/linux/tools/arm_install/alsa/alsa-lib-1.0.23/lib/lib* /source/rcar/rootfs/lib
拷贝alsa配置文件到 /usr/share/ 下 2、cp /usr/local/share/alsa /source/rcar/rootfs/usr/share
并且设置环境变量 export ALSA_CONFIG_PATH=/usr/share/alsa/alsa.conf
utils能产生 aplay,amixer,arecord 可执行程序,这些文件可放在 /usr/sbin 中 3、cp /home/linux/tools/arm_install/alsa/alsa-utils-1.0.23 /source/rcar/rootfs/usr/bin
4、根据自己平台关于声卡设备的设备文件所在的目录进行调整,常见的是"/dev/" 和"/dev/snd" controlC0, pcmC0D0c, pcmC0D0p, timer等
四、运行测试程序
//播放wave文件 apply test.wav
//改变test.wav的频率播放文件 apply -D rate_44k test.wav
//录音,以20秒的间隔时间(-d 20),立体声(-c 2),频率是8000HZ来录制wave格式音频 arecord -d 20 -c 2 -t wav -r 8000 -f "Singed 16 bit Little Endian" test.wav
//测试混音播放(先是播放test1.wav,然后再同时播放test2.wav) aplay -D plug:dmix_44k test1.wav & aplay -d plug:dmix_44k test2.wav &
//设置放音增益(0 to 3) amixer set Master 1
//设置录音音量(0-31) amixer set Line 10
//单声道录音 arecord -d 10 -t wav -c1 -r 22050 -f S16_LE test.wav
//立体声录音 arecord -d 10 -t wav -c2 -r 22050 -f S16_LE test1.wav
- 分享
- 举报

-
浏览量:716次2019-12-28 10:33:46
-
浏览量:595次2017-11-20 12:34:12
-
浏览量:490次2018-06-27 17:06:49
-
浏览量:815次2017-11-21 13:44:59
-
浏览量:711次2017-11-20 11:38:57
-
浏览量:737次2018-01-30 11:43:55
-
浏览量:401次2017-11-24 14:49:02
-
浏览量:898次2017-11-25 15:52:31
-
浏览量:310次2020-04-21 20:27:00
-
浏览量:412次2020-04-21 20:28:40
-
浏览量:410次2019-12-05 17:38:34
-
浏览量:754次2018-04-22 20:46:42
-
浏览量:307次2020-05-09 10:06:12
-
浏览量:477次2020-08-03 11:21:38
-
浏览量:515次2020-07-31 13:45:09
-
浏览量:5663次2017-10-18 14:51:20
-
浏览量:1123次2019-09-01 11:08:57
-
浏览量:728次2019-12-28 10:19:54
-
浏览量:1035次2019-12-16 13:54:11
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖

apn_gcp







举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明