资源简介
一个简单的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编写的 串口工具代码
相关资源
- QT局域网聊天系统(基于QT5.修改过)
- QT5.5入门与项目实战
- 微信小程序 录音机源码
- 基于FFmpeg4.0.2的AAC编码器
- 录音机labview程序
- mp4_play.zip
- 使用Qt编写的视频监控系统支持Qt4-Q
- Qt 多线程连接数据库——数据库
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 串口调试助手 Qt5版源码
- Qt5的多线程小程序,实现按钮开关线
- Ubuntu16.04中配置Qt5.9.1和OpenCV3.4.0过程
- Qt pdf poppler
- 基于Qt5的串口调试助手
- 微机实验综合实验之录音机
- Qt类关系图
- PyQt5编写的大数据应用-高速公路违章
- QT5.9.0实现的QWidget版富文本编辑器
- Qt5版NeHe OpenGL教程6-10
- QT5下实现基于TCP发送和接接收文件
- PyQt5_gpl-5.11.3.zip
- qtribbon可用
- qt5串口简单实现图片、pdf文件的传输
- qt5.8实现rtsp流播放
- QT5检测USB设备
- Qt5.5 开发 Creo3.0 案例
-
Qt5.8 QMediaPla
yer 音乐播放器 - qt5之学生管理系统
- qt5-qtwebkit-5.6.2-1.el7.x86_64.rpm
- Qt5 for windows plugin dll
评论
共有 条评论