alsa_lib移植到IMX6ULL

本文介绍了ALSA(AdvancedLinuxSoundArchitecture)在Linux系统中的重要地位,以及如何进行交叉编译alsa_lib和alsa_utils。通过配置选项如-prefix和-host指定编译路径和交叉编译器,动态或静态编译库。编译完成后,将内容移植到开发板并设置环境变量以使用。文章还提到了几个实用工具,如aplay用于音频播放,alsamixer进行声卡配置,alsactl保存和恢复配置,以及amixer直接调整声卡设置。
摘要由CSDN通过智能技术生成

简介

ALSA是Advanced Linux Sound Architecture的缩写,目前已经成为了linux下的主流音频体系架构,提供了音频和MIDI的支持。
在这里插入图片描述

交叉编译alsa_lib和alsa_utils

下载alsa_lib

在官网中下载AlsaProject

编译

先将文件解压,然后进入alsa_lib文件夹中
首先需要执行configure应用程序,用来对编译项目进行配置。

 ./configure --host=arm-linux-gnueabihf --prefix=/home/heihei/Qt_lib/alsa-lib-1.2.2/temp --enable-shared=yes --enable-static=no --disable-python CC=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
//选项讲解
-prefix:后面是下载(install)的绝对路劲,也就是编译出来后的文件所存放的目录
-host:具体使用交叉编译器的名称(需要填写全名)
CC:交叉编译工具的绝对路径
-enable-shared=yes --enable-static=no:动态编译还是静态编译,只能选择一个

测试应用程序

alsa-lib是ALSA提供的一套Linux下的C语言库函数,需要将alsa-lib移植到开发板上,这样基于alsa-lib编写的应用程序才能运行。
在这里插入图片描述
使用make 编译工程,然后再使用make install下载编译后的文件到指定目录即可
在这里插入图片描述
进入temp文件夹中可以查看到编译后的所有内容,将temp文件夹中的内容移植移植到开发板上,然后添加PATH环境变量即可。
在这里插入图片描述
编译alsa-utils和编译alsa-lib是一样的这里就不详细介绍了,可以百度。

aplay

aplay是一个用于测试音频播放功能程序,可以使用aplay播放wav格式的音频文件。

alsamixer

用于配置声卡的混音器,它是一个字符图形的配置工具。

alsactl

配置完成后,下次启动配置不会保存则可以直接使用如下命令,将配置项保存到指定文件夹下。

alsactl -f /var/lib/alsa/asound.state store

使用如下命令可以将配置信息加载

alsactl -f /var/lib/alsa/asound.state restore

amixer

使用该应用程序直接配置声卡,例如:

# 打开耳机播放 ZC
amixer sset 'Headphone Playback ZC' on
# 打开喇叭播放 ZC
amixer sset 'Speaker Playback ZC' on
amixer sset 'Speaker AC' 3
amixer sset 'Speaker DC' 3

# 音量设置
amixer sset Playback 230,230 //播放音量设置
amixer sset Speaker 118,118 //喇叭音量设置

# 打开左右声道
amixer sset 'Right Output Mixer PCM' on //打开右声道
amixer sset 'Left Output Mixer PCM' on //打开左声道
# 注释:打开声道很重要,如果移植alsa的库之后使用alsamixer可以找到声卡,音量也配置了。
#但是调用aplay没有声音那就是由于没有打开声道导致的。

参考

《【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.4》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘉鑫的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值