用Qt实现录音以及放音.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用Qt实现录音以及放音

用Qt实现录音以及放音环境:Ubuntu10.04,Qt Creator 2.0.1,Qt 4.7.0参考Qt帮助文档,对QAudioInput类以及QAudioOutput类进行操作,实现录音以及放音.工作流程:test_record_ver0工程录音3S,将声音文件保存在/root/qt_code/test.raw中,test_play_ver0工程打开test.raw文件,并输出声音.源代码:test_record_ver0工程:widget.h:#ifndef WIDGET_H #define WIDGET_H #include QWidget #include QtGui #include QAudioInput #include iostream using namespace std; namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: void stopRecording(); private: Ui::Widget *ui; QFile outputFile; // class member. QAudioInput* audio; // class member. }; #endif // WIDGET_H widget.cpp:#include widget.h #include ui_widget.h Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui-setupUi(this); outputFile.setFileName(/root/qt_code/test.raw); outputFile.open( QIODevice::WriteOnly | QIODevice::Truncate ); QAudioFormat format; // set up the format you want, eg. format.setFrequency(8000); format.setChannels(1); format.setSampleSize(8); format.setCodec(audio/pcm); format.setByteOrder(QAudioFormat::LittleEndian); format.setSampleType(QAudioFormat::UnSignedInt); QAudioDeviceInfo info = QAudioDeviceInfo::defaultInputDevice(); if (!info.isFormatSupported(format)) { qWarning()default format not supported try to use nearest; format = info.nearestFormat(format); } audio = new QAudioInput(format, this); QTimer::singleShot(3000, this, SLOT(stopRecording())); audio-start(outputFile); // Records audio for 3000ms cout record begin! endl; } void Widget::stopRecording() { audio-stop(); outputFile.close(); delete audio; cout record end! endl; } Widget::~Widget() { delete ui; } test_play_ver0工程:widget.h:#ifndef WIDGET_H #define WIDGET_H #include QWidget #include QtGui #include QAudioInput #inclu

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档