目录

一、成果展示:

二、代码

三、录制系统声音


一、成果展示:

二、代码

1、main.cpp

#include "myaudiorecorder/AudioWidget.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);AudioWidget w;w.show();return a.exec();
}

2、AudioWidget.h

#ifndef AUDIOWIDGET_H
#define AUDIOWIDGET_H#include <QWidget>
class QAudioRecorder;namespace Ui {
class AudioWidget;
}class AudioWidget : public QWidget
{Q_OBJECTpublic:explicit AudioWidget(QWidget *parent = 0);~AudioWidget();private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();void on_pushButton_4_clicked();void updateProgress(qint64 duration);private:Ui::AudioWidget *ui;QAudioRecorder *audioRecorder;
};#endif // AUDIOWIDGET_H

3、AudioWidget.cpp

#include "AudioWidget.h"
#include "ui_AudioWidget.h"
#include <QAudioRecorder>
#include <QDebug>
#include <QFileDialog>AudioWidget::AudioWidget(QWidget *parent) :QWidget(parent),ui(new Ui::AudioWidget)
{ui->setupUi(this);audioRecorder = new QAudioRecorder;//获取系统可用的音频输入设备列表;QStringList inputs = audioRecorder->audioInputs();ui->comboBox->addItems(inputs);// 更新录制进度;connect(audioRecorder, &QAudioRecorder::durationChanged, this,&AudioWidget::updateProgress);// 设置音频编码;QAudioEncoderSettings audioSettings;audioSettings.setCodec("audio/pcm");audioSettings.setQuality(QMultimedia::HighQuality);audioRecorder->setAudioSettings(audioSettings);
}AudioWidget::~AudioWidget()
{delete ui;
}// 选择按钮
void AudioWidget::on_pushButton_clicked()
{//音频保存位置;QString fileName = QFileDialog::getSaveFileName();ui->lineEdit->setText(fileName);
}// 开始按钮
void AudioWidget::on_pushButton_2_clicked()
{audioRecorder->setAudioInput(ui->comboBox->currentText());audioRecorder->setOutputLocation(QUrl::fromLocalFile(ui->lineEdit->text()));audioRecorder->record();
}// 停止按钮
void AudioWidget::on_pushButton_4_clicked()
{audioRecorder->stop();
}void AudioWidget::updateProgress(qint64 duration)
{if (audioRecorder->error() != QMediaRecorder::NoError || duration < 1000)return;setWindowTitle(tr("Recorded %1 sec").arg(duration / 1000));
}

4、AudioWidget.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"><class>AudioWidget</class><widget class="QWidget" name="AudioWidget"><property name="geometry"><rect><x>0</x><y>0</y><width>400</width><height>300</height></rect></property><property name="windowTitle"><string>Widget</string></property><widget class="QComboBox" name="comboBox"><property name="geometry"><rect><x>90</x><y>50</y><width>251</width><height>22</height></rect></property></widget><widget class="QLabel" name="label"><property name="geometry"><rect><x>20</x><y>55</y><width>71</width><height>16</height></rect></property><property name="text"><string>输入设备:</string></property></widget><widget class="QLabel" name="label_2"><property name="geometry"><rect><x>20</x><y>120</y><width>61</width><height>16</height></rect></property><property name="text"><string>保存地址:</string></property></widget><widget class="QLineEdit" name="lineEdit"><property name="geometry"><rect><x>90</x><y>120</y><width>251</width><height>20</height></rect></property></widget><widget class="QPushButton" name="pushButton"><property name="geometry"><rect><x>360</x><y>120</y><width>31</width><height>23</height></rect></property><property name="text"><string>选择</string></property></widget><widget class="QPushButton" name="pushButton_2"><property name="geometry"><rect><x>70</x><y>220</y><width>75</width><height>23</height></rect></property><property name="text"><string>开 始</string></property></widget><widget class="QPushButton" name="pushButton_4"><property name="geometry"><rect><x>250</x><y>220</y><width>75</width><height>23</height></rect></property><property name="text"><string>停止</string></property></widget></widget><layoutdefault spacing="6" margin="11"/><resources/><connections/>
</ui>

三、录制系统声音

要录制系统自身发出的声音也是可以的,并且不用修改程序,只需启用相关设备即可。

以 Windows10 为例,右击桌面右下角 小喇叭图标,在弹出的菜单中选择 "声音"

然后在弹出的对话框中选择 "录制" 页,在 “立体声混音” 上右击,选择启用,即可,如下图:

QT 录制音频(麦克风、系统)相关推荐

  1. Qt录制音频为pcm并进行ffmpeg aac编码

      Qt提供了音频采集功能,主要涉及到3个类,QAudioFormat,QAudioInput,QIODevice.   在进行音频采集时先用QAudioFormat设置采集参数,然后创建音频输入对象 ...

  2. nanopc-T4 开发板通过USB麦克风采集录制音频

    文章目录 1. 使用 nanopc-T4 开发板采集音频 2. 使用 Tyless外置usb麦克风录制声音 3. 使用 ffrmpeg 将实时视频与音频合并并推流到 rtmp 服务器中 4. 成功实现 ...

  3. iphone麦克风_如何从iPhone或iPad上的蓝牙麦克风录制音频

    iphone麦克风 Recording audio from a Bluetooth microphone isn't something that iOS can do out of the box ...

  4. android 录像 蓝牙耳机,Android - 从蓝牙耳机录制音频有时会从麦克风录制

    我正在尝试录制音频并从蓝牙耳机中分析它,为此我正在使用对象:android.media.AudioRecord, 我的问题是,对于某些设备与他们的Android版本相结合,我从手机麦克风而不是蓝牙耳机 ...

  5. pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存

    pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...

  6. Android音视频开发:MediaRecorder录制音频

    Android 多媒体框架针对音频录制提供了两种方法:MediaRecorder和AudioRecord. 区别 MediaRecorder:录制的音频文件是经过压缩后的,需要设置编码器,并且录制的音 ...

  7. Android Studio App开发中使用录音机、MediaRecorder录制音频和MediaPlayer播放音频讲解及实战(附源码)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一.使用录音机录制音频 手机有自带的系统相机,也有自带的系统录音机,只要在调用startActivityForResult之前指定该动作,就会自动 ...

  8. AVFoundation开发秘籍笔记-02播放和录制音频

    一.音频会话 AVAudioSession 音频会话在应用程序和操作系统之间扮演着中间人的角色,提供一种简单实用的方法是OS得知应用程序应该如何与iOS音频环境进行交互. AVAudioSession ...

  9. QT 项目 智能家居系统 上位机

    有哪些文件  : 头文件: 1. auidio .h  语音识别 模块 2. camera.h  人脸识别登录模块 3. chooselevelscene.h  翻金币游戏的 4. dataconfi ...

  10. AudioUnit录制音频+耳返(四)

    前言 视频直播,K歌应用等等都会有音频录制的功能,音频录制时还可以带有耳返效果,那这些是如何实现的呢?如果仅仅是录制音频,那使用IOS的AudioQueue框架实现即可,但是在直播这些实时性要求比较高 ...

最新文章

  1. Android 对象池案例
  2. Java的多线程以及内存模型的知识点梳理,有想到过这些吗?
  3. c语言设计匀速直线运动,C语言课程设计指导书2015版(试用版)201506.doc
  4. C语言的一些知识总结
  5. 查询相关股票十档行情的方法
  6. php apk 分包,H5打包出APP,分包
  7. 神策分析 1.17 重磅来袭,四大特性让数据治理更轻松,数据分析更深入
  8. Kali2019解决无法定位软件包
  9. Web前端开发面试题——将字符串转成驼峰写法
  10. 走楼梯c语言程序,C语言项目爬楼梯的两种实现方法参考
  11. 如何通过python多线程抓取所有东方财富股票信息
  12. 深度学习、机器学习交流群
  13. 计算机怎么不显示打开文件桌面,开机不显示桌面图标怎么办【解决方法】
  14. 《Maven实战》(许晓斌)导读(读书笔记第二次读后感)
  15. 中高端时代趁势而来,本就艰难的酒店企业如何顺势而为
  16. Unity2D:灯光系统
  17. win11任务管理器_win11系统怎么打开任务管理器
  18. sudo apt-get update报错:W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件
  19. linux cadaver 命令,【Linux学习第三篇】[Tab].[Ctrl]-c.[Ctrl]-d
  20. 最重要的事和最难的事

热门文章

  1. 创业维艰:为啥大多数创业者都不开心?
  2. 数字电视机顶盒ATSC制式详细介绍
  3. 芯片架构分类 - CISC 和 RISC
  4. 数据分析师面试题攻略
  5. 不是HR,Leader你会面试应聘者吗(如何起好手中的扑克牌)
  6. 【AI简报20210625期】自动驾驶运动预测挑战赛、20美元的宜家台灯算力有多强?...
  7. 怎样把PDF文件压缩变小?
  8. nat64 dns64 linux 内核支持,NAT64与DNS64
  9. 求解一元二次方程c语言程序,一元二次方程求解程序完整代码
  10. 轻松两步实现了接口限流