Qt 前奏ALSA库的移植,录音和播放

ALSA库的移植和使用

1.ALSA简介

advance linux sound architecture –》高级linux声音架构,给程序员开发音频设备的驱动和应用程序提供了统一的接口

  • 开发声卡的驱动
  • 开发基于linux的音频编解码软件

2.移植ALSA

https://www.alsa-project.org/wiki/Main_Page  //官方网站

(1)移植步骤

  • alsa-lib-1.0.22.tar.bz2  (alsa核心库源码)
  • alsa-utils-1.0.22.tar.bz2(音频实用例程源码)

第一步:交叉编译alsa-lib


 ./configure --prefix=/home/gec/xxx \  (此处是alsa库的安装路径,是要按照实际情况来改的)
                       --host=arm-linux \
                       --disable-python
            make
            make install

第二步:交叉编译alsa-utils

./configure --prefix=/home/gec/xxx \
                      --host=arm-linux \
                      --with-alsa-prefix=/home/gec/xxx/lib/ \
                      --with-alsa-inc-prefix=/home/gec/xxx/include/ \
                      --disable-alsamixer \
                      --disable-xmlto
            make
            make install

3.把移植好的库下载到开发板配置

第一步:将移植得到的库文件,头文件,可执行程序打包下载到开发板中

tar -jcf 88.tar.bz2 alsadir //把alsadir目录所有的内容的打包到88.tar.bz2里面

第二步:把移植得到的bin目录中arecord和aplay拷贝到开发板/bin

第三步:把移植得到的lib目录中所有的文件拷贝到开发板/lib

第四步:把移植得到的share目录拷贝到开发板的/home/gec/alsadir目录下

注意:share目录在开发板中的路径也必须跟当初你移植的时候ubuntu上的路径一致

4.使用移植好的ALSA工具

录音和播放

arecord -d3 -c1 -r16000 -twav -fS16_LE example.wav

说明:

-d:录音时长(duration)

-c:音轨(channels)

-r:采样频率(rate)

-t:封装格式(type)

-f:量化位数(format)16bit 小端

执行如下命令播放:

aplay example.wav

除了ALSA之外,还有其他的音频处理和设备驱动架构可供选择,以下是其中一些常见的选项:

1. PulseAudio:PulseAudio是一个开源的音频子系统,提供了高级的音频功能和设备管理。它在Linux系统中广泛使用,并支持多种操作系统平台。PulseAudio具有强大的音频路由和混音功能,可以实现在多个应用程序之间灵活地切换音频设备。

2. JACK:JACK(JACK Audio Connection Kit)是一个专业级的音频处理和设备驱动架构,主要用于音频工作站和音乐制作环境。JACK提供了低延迟的音频传输和强大的连接管理功能,允许多个应用程序同时访问音频设备,并支持复杂的信号路由和处理。

3. Core Audio:Core Audio是苹果公司在Mac OS X和iOS系统上使用的音频处理架构。它提供了高性能的音频处理和设备驱动支持,支持多通道音频输入和输出,并提供了丰富的音频功能和效果处理。

4. ASIO:ASIO(Audio Stream Input/Output)是由Steinberg开发的音频处理和设备驱动架构,主要用于音乐制作和音频录制领域。ASIO提供了低延迟的音频传输和高性能的音频处理能力,允许直接访问音频硬件设备,并支持多通道音频输入和输出。

这些音频处理和设备驱动架构在不同的操作系统和应用领域中具有广泛的应用。选择适合你需求的架构时,可以考虑系统平台的兼容性、所需的功能和性能要求,以及开发和使用的便捷性。

作者:Qt历险记
原文:https://mp.weixin.qq.com/s/TG2xktslmCXrsWq1svv4bA

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论