资源简介
一个简单的QT录音机,QT5.6版本编译的,能够实现录音,保存,播放,展示麦克风的音量大小,设置麦克风的音量大小,实时播放
代码片段和文件信息
#include “AudioRecorder.h“
#include
#include
#include
#include
#include
#define BufferSize 14096
struct HEADER
{
char RIFFNAME[4];
unsigned long nRIFFLength;
char WAVNAME[4];
char FMTNAME[4];
unsigned long nFMTLength;
unsigned short nAudioFormat;
unsigned short nChannleNumber;
unsigned long nSampleRate;
unsigned long nBytesPerSecond;
unsigned short nBytesPerSample;
unsigned short nBitsPerSample;
char DATANAME[4];
unsigned long nDataLength;
};
AudioRecorder::AudioRecorder(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
miMaxValue = 0;
miVolume = ui.horizontalSlider->value();
mpOutputFile = NULL;
mpAudioInputFile = NULL;
mpAudioOutputFile = NULL;
mpAudioInputSound = NULL;
mpAudioOutputSound = NULL;
mpInputDevSound = NULL;
mpInputDevSound = NULL;
ui.btn_stop->setDisabled(true);
ui.btn_play->setDisabled(true);
ui.btn_save->setDisabled(true);
mpOutputFile = new QFile();
mpOutputFile->setFileName(tr(“record.raw“));
//mFormatFile.setFrequency(8000);
//mFormatFile.setChannels(1);
mFormatFile.setSampleSize(16);
mFormatFile.setSampleType(QAudioFormat::SignedInt);
mFormatFile.setByteOrder(QAudioFormat::LittleEndian);
mFormatFile.setCodec(“audio/pcm“);
QAudioDeviceInfo info(QAudioDeviceInfo::defaultInputDevice());
if (!info.isFormatSupported(mFormatFile)) {
qWarning(“input default mFormatFile not supported try to use nearest“);
mFormatFile = info.nearestFormat(mFormatFile);
}
QAudioDeviceInfo info1(QAudioDeviceInfo::defaultOutputDevice());
if (!info1.isFormatSupported(mFormatFile)) {
qWarning() << “output default mFormatFile not supported - trying to use nearest“;
// mFormatFile = info.nearestFormat(mFormatSound);
qWarning() << “output no support input mFormatFile.“;
return;
}
if(mFormatFile.sampleSize() != 16) {
// qWarning(“audio device doesn‘t support 16 bit support %d bit samples example cannot run“
// yle=“white-space:pre“> mFormatFile.sampleSize());
mpAudioInputFile = 0;
return;
}
mpAudioInputFile = NULL;
mpAudioOutputFile = NULL;
connect(ui.btn_start SIGNAL(clicked()) thisSLOT(OnRecordStart()));
connect(ui.btn_stop SIGNAL(clicked()) thisSLOT(OnRecordStop()));
connect(ui.btn_play SIGNAL(clicked()) thisSLOT(OnRecordPlay()));
connect(ui.btn_save SIGNAL(clicked()) thisSLOT(OnRecordSave()));
InitMonitor();
}
AudioRecorder::~AudioRecorder()
{
}
void AudioRecorder::OnRecordStart()
{
mpOutputFile->open(QIODevice::WriteOnly | QIODevice::Truncate);
mpAudioInputFile = new QAudioInput(mFormatFile this);
mpAudioInputFile->start(mpOutputFile
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10681 2018-10-24 13:50 lu2\Audiorecorder.cpp
文件 1264 2018-10-24 13:26 lu2\Audiorecorder.h
文件 2803 2018-10-24 13:36 lu2\Audiorecorder.ui
文件 407 2018-10-24 11:53 lu2\lu2.pro
文件 23441 2018-10-24 11:50 lu2\lu2.pro.user
文件 189 2018-10-24 11:50 lu2\main.cpp
目录 0 2018-10-24 13:50 lu2\
- 上一篇:BACnet协议源码
- 下一篇:一个简单的 QT5编写的 串口工具代码
相关资源
- 一个简单的 QT5编写的 串口工具代码
- 子QWidget上画图
- QCamera支持多摄像头切换显示
- Qt5.5 代码实现记事本程序 MiniText
- 基于TCP协议的QT聊天程序
- QT5.7+OPENGL画正方体
- source.zip
- 数字信号处理库Aquila编译及使用说明
- qtwinmigrate-2.8_1-opensource
- PyQt5快速开发与实践
- qt5音乐播放器源代码
- 用QT5写的视频播放器182732
- PyQt5系列教程(二)利用QtDesigner设计
- qt5 qftp官方源码
- Qt录音机QAudioInput
- Qt5主窗体:文本编辑器
- QT5 UDP方式发送数据
- 录音机.doc安卓课程设计论文报告,运
- Qt设计无人艇人机交互界面
- Qt5.9自定义标题栏源代码
- 基于QT5编写的安防视频监控,实现了
- QT5串口工程源代码上位机
- PCL+Qt可视化,鼠标点拾取
- QT5串口上位机实现 源码
- 完整项目之QT5开发源码——聊天工具
- DCMTK库编译与在QT中的使用
- Qt5---编译的FTP库
- imx6系列处理器移植Qt5.6过程详细说明
- Qt5.12.0 VS2017 64位 编译Qt5WebEngine实现
- QT5实现简单的TCP通信例程
评论
共有 条评论