下面为库的移植与配置,粗斜体为本机路径,需要自行修改!!!!!

(1)移植alsa-lib库
移植三部曲 ------- 配置 编译 安装
1)将源码拷贝到Ubuntu非共享目录,解压

2)配置

./configure --host=arm-linux --prefix=***/home(设置好的路径)*** --disable-python

3)编译 安装

make
make install

(2)移植alsa-utils库
1)解压配置

./configure --host=arm-linux --prefix=***/home(设置好的路径)***
--with-alsa-prefix=/home/gec/alsa/lib --with-alsa-inc-prefix=***/home(设置好的路径)***/include
--disable-alsamixer --disable-xmlto

2)编译 安装

make
make install

(3)将编译生成的目录(bin sbin lib share include)打包,拷贝到开发板,在开发版解压后将需要的文件拷贝到对应的位置。

1)库文件

以上三个文件拷贝到开发板/lib或者/usr/lib
cp libasourd.so* /lib -a

2)命令

将以上两个文件拷贝到开发板/bin或者/usr/bin
cp aplay arecord /bin -a

3)配置文件

将share目录全部拷贝到到开发板和编译生成目录相同的目录下
===>***/home(设置好的路径)***/share(开发板路径)
mkdir -p ***/home(设置好的路径)***/share
cp  ***/home(设置好的路径)***/share -a

(4)录音和播放

1)arecord -d5 -c1 -r16000 -twav -fS16_LE xxx.WAV-d:录音时间-c:音轨-r:采样评率-t:封装格式-f:量化位数
2)播放
aplay xxx.WAV

具体实现代码如下:

MyAudio.h

#ifndef MYAUDIO_H
#define MYAUDIO_H#include <QWidget>
#include <QProcess>QT_BEGIN_NAMESPACE
namespace Ui { class MyAudio; }
QT_END_NAMESPACEclass MyAudio : public QWidget
{Q_OBJECTpublic:MyAudio(QWidget *parent = nullptr);~MyAudio();private slots:void on_pushButton_record_clicked();void on_pushButton_play_clicked();private:Ui::MyAudio *ui;QProcess *p;
};
#endif // MYAUDIO_H

main.c

#include "myaudio.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MyAudio w;w.show();return a.exec();
}

MyAudio.c

#include "myaudio.h"
#include "ui_myaudio.h"MyAudio::MyAudio(QWidget *parent): QWidget(parent), ui(new Ui::MyAudio)
{ui->setupUi(this);p = new QProcess(this);
}MyAudio::~MyAudio()
{delete ui;
}//录音/结束
void MyAudio::on_pushButton_record_clicked()
{if(p->state()==QProcess::Running){//关闭p->kill();p->waitForFinished();ui->pushButton_record->setText("录音");}else if(p->state()==QProcess::NotRunning){QString cmd = QString("arecord");QStringList args;args<<"-d60"<<"-c1"<<"-r16000"<<"-twav"<<"-fS16_LE"<<"test.WAV"<<"&";p->start(cmd,args);ui->pushButton_record->setText("停止");}
}//播放
void MyAudio::on_pushButton_play_clicked()
{if(p->state()==QProcess::Running){//关闭p->kill();p->waitForFinished();ui->pushButton_record->setText("录音");}QString cmd = QString("aplay");QStringList args;args<<"test.WAV"<<"&";p->start(cmd,args);
}

完整代码及配置文件:
文件链接:https://download.csdn.net/download/weixin_43793181/20335306
文件内容:

QT界面完成录音与播放功能以及环境配置相关推荐

  1. 【Qt】Qt5.x移植后的环境配置(imx6)

    1.环境配置脚本如下 #!/bin/shexport QTDIR=/usr/lib/qt5 export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins expo ...

  2. Linux 环境下vs2015 qt,QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)

    在 CSS 预编译器之后:PostCSS 提到css预编译器(css preprocessor),你可能想到Sass.Less以及Stylus.而本文要介绍的PostCSS,正是一个这样的工具:css ...

  3. xampp安装与配置、PHP环境配置

    地址 https://sourceforge.net/projects/xampp/files/ 刚点进去是这个界面,稍等一下 出现这个界面,点击确定开始下载: 一.步骤 下载完成后一直next 有一 ...

  4. Pycharm安装及环境配置

    接下来的安装教程我们以Windows为例, 1.先进入Pycharm的官网,下载社区版,因为社区版是免费的 : 2.下载完成,单击下载后的文件,运行该文件,点击next进入下一步: 3.直接点击nex ...

  5. 基于人脸识别的课堂签到管理系统(一)---环境设置以及简单的QT界面设计

    基于人脸识别的课堂签到管理系统(一)---环境设置以及简单的QT界面设计 一.前言 二.Pycharm安装与环境配置 2.1 Pycharm安装配置 2.2 Pycharm环境配置 三.QT界面设计 ...

  6. QT界面中实现视频帧显示的多种方法及应用

    QT界面中实现视频帧显示的多种方法及应用 (一) 引言 1.1 视频帧在QT界面中的应用场景 1.2 不同方法的性能和适用性分析 1.2.1 使用QLabel和QPixmap 1.2.2 使用QPai ...

  7. python拿什么做可视化界面好-python爬虫如何制作可视化界面?(pyqt5环境配置篇)...

    却道天凉好个秋~ pyqt5+python+qtdesigner+pycharm制作一个可视化的GUI爬虫工具 前言: 最近闲来无聊又开始了py之路,这次需要的是制作一个贴吧的关键词搜索相关帖子的工具 ...

  8. Qt for Android 开发环境配置

    原址:https://blog.csdn.net/yongheng0852/article/details/78875855 1. Qt编译器环境 ------1) Qt for Android环境安 ...

  9. QTCreator2.8.0+Qt Open source 4.8.5环境配置(Win7x64)

    开始使用QT了,环境配置好了,以后才不会有这方面的麻烦,所以第一步,把自己的工作环境搭建好! 下面是我的环境搭建过程,留个记录,也为了后来者能少走一些弯路. 注:本人的系统是WIN7x64位的,其他系 ...

最新文章

  1. jQuery(一)引入
  2. 为什么我们很难看到代码 5 分钟前的样子?
  3. [导入]关于DataGrid等控件中的自动编号
  4. 微信支付java helloworld_10行代码搞定微信支付(Java版)
  5. C语言基础总结Part
  6. c语言水利工程编程题目,C程序设计(双语版)习题答案精选.doc
  7. 《进化——我们在互联网上奋斗的故事》一一1.9 职业素养中的品德细节
  8. 高等数学上册 第一讲 极限与连续(1)
  9. Arcgis4js实现链家找房的效果
  10. 仿生象鼻机械臂的创新设计与应用研究
  11. 2017年个人看书学习计划
  12. windows10 安装php-cgi.exe为服务
  13. 【Disturbed People】【CodeForces - 1077B】(思维水题)
  14. 用c#二次开发的焊锡检测视觉系统
  15. 全自动棉纱缠绕机行业调研报告 - 市场现状分析与发展前景预测
  16. CMU CSAPP : Decoding lab
  17. 基于最小割的分割算法(Min-Cut Based Segmentation)
  18. Anaconda3-5.2.0+PyTorch1.3.0+cuda9.2本地安装教程
  19. java的Intersect用法_intersect、minus的用法
  20. Python-Django毕业设计高校田径运动会管理(程序+LW).

热门文章

  1. 【转】8家公司笔面试经历-百度-联发科-瑞晟--
  2. 区块链将如何彻底改变自动驾驶
  3. 如何开启 vue 项目
  4. mysql nan_在MySQL数据库中插入NaN值
  5. vscode分支合并
  6. ubuntu下查看电脑系统信息
  7. 人工智能AI课 推荐算法详解和实现
  8. 面向工业智能制造的组态系统设计思路与实现
  9. 第 5 章 ROS 常用组件 4 —— rosbag / rqt工具箱
  10. 企业招聘UI设计常见面试题分享