目錄
基本概念
**與例項
首先是qt5中的新特性:
qt5中關於多**的新特性:
1. qml api介面;
2. 能同時使用mediaplayer和videooutput;
3. qml torch類;
4. 增加了qaudiorecorder這一新類;
5. 更加強大的qaudiooutput和qaudioinput;
6. 更多的例項和文件;
7. 把qsound類從qt cui模組移到了qt **********模組;
8. qsoundeffect不僅支援c++,還支援qml;
9. qradiodata和radiodata也能使用;
10. 優化了各種api以及修補了bug。
這裡還得記錄2個類!
qaudiorecorder提供了錄音功能,這個是高階多**錄製類,他是qmediarecorderder的子類,用法和他差不多
下面是官方的例項:
audiorecorder = new qaudiorecorder;
qaudioencodersettings audiosettings;
audiosettings.setcodec("audio/amr");
audiosettings.setquality(q**********::highquality);
audiorecorder->setencodingsettings(audiosettings);
audiorecorder->setoutputlocation(qurl::fromlocalfile("test.amr"));
audiorecorder->record();
此外qaudiorecorder還提供了選擇audioinput的功能
qstringlist inputs = audiorecorder->audioinputs();
qstring selectedinput = audiorecorder->defaultaudioinput();
foreach (qstring input, inputs)
audiorecorder->setaudioinput(selectedinput);
audio recorder example提供了這個類的詳細用法,這個其實本人的例子,就是audio recorder example的關鍵提提取出來的!!!!
下面來看另外乙個類:qaudioencodersettings
這個類提供了編碼方面的設定。
用這個類去指定qmediarecorder中相關的設定(因為qaudiorecorder為qmediarecorder的子類,所有他也可以設定),通過呼叫setaudiosettings這個函式進行設定!
官方給出的相關**!
qaudioencodersettings audiosettings;
audiosettings.setcodec("audio/mpeg");
audiosettings.setchannelcount(2);
recorder->setaudiosettings(audiosettings);
程式執行截圖如下:
錄了4-5s的時間(程式裡面是5s)
原始碼如下:
qstringlist audioinputlist = audiorecorder->audioinputs(); //audioinputlist[0]為麥克風
qstringlist audiocodecslist = audiorecorder->supportedaudiocodecs(); //audiocodecslist[0]為 audio/pcm
audiorecorder->setaudioinput(audioinputlist[0]);
qaudioencodersettings settings;
settings.setcodec(audiocodecslist[0]);
settings.setsamplerate(16000); //取樣率 ******x
settings.setbitrate(128000);
settings.setquality(q**********::encodingquality(10));
settings.setencodingmode(q**********::constantbitrateencoding);
audiorecorder->setencodingsettings(settings, qvideoencodersettings());
audiorecorder->record();
qdebug() << "start!";
qeventloop loop;
qtimer::singleshot(5 * 1000, &loop, slot(quit()));
loop.exec();
audiorecorder->stop();
delete audiorecorder;
qdebug() << "over";
return a.exec();}
QT5 學習筆記一
一 訊號和槽機制 signal slot qt提供了訊號和槽機制用於完成介面操作的響應,是完成任意兩個qt物件之間的通訊機制。訊號會在某個特定情況或動作下被觸發,槽是等同於接收並處理訊號的函式。訊號與槽機制的連線方式 1 乙個訊號可以與另乙個訊號相連 2 同乙個訊號可以與多個槽相連 3 同乙個槽可以...
QT5 學習筆記01
第乙個例項,計算圓的面積 利用qt5 designer實現 第一次例項比較簡單,掌握建立專案的方法以及槽函式的用法即可。使用到的常用函式 1 qstring toint bool ok nullptr,int base 10 第一引數為ok位址,表明轉換成功與否,第二個引數進製 123 123 2 ...
QT5 學習筆記02
第二個例項,計算圓的面積 利用 實現 建立專案時不選擇建立介面選項 建立好後專案中不含有ui designer 物件的位置用布局管理器控制 如 qgridlayout mainlayout 關於槽的相關資料 主視窗中的 如下 include dialog.h include qgridlayout ...