欢迎来到天天文库
浏览记录
ID:38808189
大小:12.57 KB
页数:6页
时间:2019-06-19
《用Qt实现录音以及放音》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用Qt实现录音以及放音环境:Ubuntu10.04,QtCreator2.0.1,Qt4.7.0参考Qt帮助文档,对QAudioInput类以及QAudioOutput类进行操作,实现录音以及放音.工作流程:test_record_ver0工程录音3S,将声音文件保存在/root/qt_code/test.raw中,test_play_ver0工程打开test.raw文件,并输出声音.源代码:test_record_ver0工程:widget.h:#ifndefWIDGET_H#defineWIDGET_H#include#include#include
2、#includeusingnamespacestd;namespaceUi{classWidget;}classWidget:publicQWidget{Q_OBJECTpublic:explicitWidget(QWidget*parent=0);~Widget();privateslots:voidstopRecording();private:Ui::Widget*ui;QFileoutputFile;//classmember.QAudioInput*audio;//classmember.};#endif//WIDGET_Hwid
3、get.cpp:#include"widget.h"#include"ui_widget.h"Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);outputFile.setFileName("/root/qt_code/test.raw");outputFile.open(QIODevice::WriteOnly
4、QIODevice::Truncate);QAudioFormatformat;//setuptheformatyouwant,eg.format.setFre
5、quency(8000);format.setChannels(1);format.setSampleSize(8);format.setCodec("audio/pcm");format.setByteOrder(QAudioFormat::LittleEndian);format.setSampleType(QAudioFormat::UnSignedInt);QAudioDeviceInfoinfo=QAudioDeviceInfo::defaultInputDevice();if(!info.isFormatSupported(format)){qWarning()<<"def
6、aultformatnotsupportedtrytousenearest";format=info.nearestFormat(format);}audio=newQAudioInput(format,this);QTimer::singleShot(3000,this,SLOT(stopRecording()));audio->start(&outputFile);//Recordsaudiofor3000mscout<<"recordbegin!"<stop();outputFile.close(
7、);deleteaudio;cout<<"recordend!"<#include#include#include#includeusingnamespacestd;namespaceUi{classWidget;}classWidget:publicQWidget{Q_OBJECTpu
8、blic:explicitWidget(QWidget*parent=0);~Widget();privateslots:voidfinishedPlaying(QAudio::Statestate);private:Ui::Widget*ui;QFileinputFile;//classmember.QAudioOutput*audio;//classmember.};#endif//WIDGET_Hwideget.cpp:#include"
此文档下载收益归作者所有