完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
高级Linux 声音体系(Advanced Linux Sound Architecture,缩写为 ALSA)是 Linux内核中,为声卡提供的驱动组件,以替代原先的 OSS(开放声音系统)。一部分的目的是支持声卡的自动配置,以及完美的处理系统中的多个声音设备。本文介绍如何移植 ALSA到 iTOP-4418 开发板,适用于最小 Linux 系统和 qt 系统。
查看本次提供的压缩包内容,分别为指导文档,测试音乐以及源码,在 binary 文件夹中有编译好的二进制文件,供用户直接使用,如下图所示。 将提供的两个压缩包拷贝到 Ubunut 的工作目录“/root/ALSA”中,如果没有该目录的话需要创建,拷贝完成后如下图所示。 首先编译 alsa-lib-1.1.5.tar.bz2 ,在当前目录输入命令“tar -xvf alsa-lib-1.1.5.tar.bz2”解压,然后用命令“cd alsa-lib-1.1.5 ”,进入刚才解压的文件夹中,如下图所示。 在此目录,输入以下命令对源码进行交叉编译。 CC=arm-none-linux-gnueabi-gcc 。/configure --host=arm-linux --prefix=/root/ALSA/install/ 完成后如下图所示。 然后依次输入命令“make”,“make install”生成库文件到目录“/root/ALSA/install/”中。这两条命令执行成功,则可以在上级目录看到 install 文件夹已经生成。如下图红框所示。 接下来编译 alsa-utils-1.1.5.tar.bz2,在当前目录输入命令“tar -xvf alsa-utils-1.1.5.tar.bz2 ”解压,然后用命令“cd a alsa-utils-1.1.5 ”,进入刚才解压的文件夹中,如下图所示。 在此目录,输入以下命令对源码进行交叉编译。 CC=arm-none-linux-gnueabi-gcc 。/configure --prefix=/root/ALSA/install/ --host=arm-linux --withalsa-inc-prefix=/root/ALSA/install/include --with-alsa-prefix=/root/ALSA/install/lib --disable-alsamixer --disable-xmlto --disable-nls 完成后如下图所示。 然后依次输入命令“make”生成二进制文件到当前目录中的对应文件夹中,这些文件分别在下图中被红框选中的文件夹中,这些文件夹中没有扩展名并与文件夹相同名称的文件便是生成的 ELF 文件。 这里以 aplay 文件夹为例,使用“cd aplay”进入文件夹,用 ls 命令可以看到生成的aplay 可执行文件,如下图所示。 用户需要将以上所有被选中文件夹中的可执行文件拷贝到 U 盘,传入到开发板,编译到此完成。 如果用户不想编译的话,binary 文件夹中有编译好的可执行文件,直接拷贝到 U 盘上进行下一步即可。 接下来的命令行操作在串口控制台进行。将 U 盘插到运行 qt 系统的开发板上,使用命令“mount /dev/sda1 /mnt/disk”挂载 U 盘。使用命令“cp /mnt/disk/ALSA/* /bin”将 ALSA 所有可执行文件拷贝到“/bin”目录下。 插上耳机,使用命令“speaker-test -c 2 &”检测耳机,耳机中输出粉红噪音。执行结果如下图所示。 使用命令 ps,查看 speaker-test 的 pid,如下图所示。 本例中 speaker-test 的 pid 是 553,使用命令 kill 553 终止它。完成后耳机停止输出粉红噪音。 此时的 ALSA 并不完全,如果通过 apaly 直接播放音频的话会发现不能控制音量,接下来创建配置文件来完善它。在串口控制台输入命令“cd /etc”进入/etc 目录,在该目录下输入命令“vi asound.conf”创建配置文件,将下面的代码敲入该文件中。 pcm.!default “plug:primary” pcm.primary { type softvol slave.pcm “plughw:0” control.name “master” control.card 0 } 完成后如下图所示 该配置文件创建了一个名为‘pcm’的从设备,隶属于音量控制插件primary,通过!default 选项将该插件设置成默认 PCM 输出设备,然后重启开发板。接下来便可以用 aplay 进行音频播放,笔者的音频文件放在/root 目录中 如下图所示。 该配置文件创建了一个名为‘pcm’的从设备,隶属于音量控制插件primary,通过!default 选项将该插件设置成默认 PCM 输出设备,然后重启开发板。接下来便可以用 aplay 进行音频播放,笔者的音频文件放在/root 目录中 如下图所示。 使用命令“amixer set ‘master’ 100”将音量设置为 100,音量值可取 0-255,操作如下图所示。 可以听到耳机的声音变小。录音测试通过命令“arecord filename &”来执行,filename 用户自己指定,&不可省略。录音过程如下图所示。 结束录音的方法与结束播放的方法相同,即通过 ps 查看进程pid,用 kill 命令终止它,这里不再重复。录音结束后可以在当前目录看到 test.wav 文件,该文件可以用 aplay 播放测试。 |
|
|
|
只有小组成员才能发言,加入小组>>
684 浏览 0 评论
1100 浏览 1 评论
2465 浏览 5 评论
2799 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2638 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
648浏览 9评论
642浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
774浏览 6评论
619浏览 5评论
661浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 07:44 , Processed in 1.124870 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号