QT 錄製音訊

2021-09-22 02:28:54 字數 1287 閱讀 7830

qt再window的安裝可以參考部落格:vs2017 配置qt環境

主要是在建立qt專案的時候加入 **********庫,利用這個庫用來錄製音訊的。

這個類是用來設定錄製音訊的引數的,如下:

qaudioformat fmt;

fmt.setsamplerate(samplerate);// 取樣率, 一秒採集音訊樣本數量,常設定為44100

fmt.setchannelcount(channels); // 音訊通道數

fmt.setsamplesize(16); //乙個音訊資料大小

fmt.setcodec("audio/pcm"); //編碼方式,大多音效卡只支援pcm,也可以通過獲取引數得到音效卡支援引數

fmt.setbyteorder(qaudioformat::littleendian); // 小端 儲存還是大端儲存

fmt.setsampletype(qaudioformat::unsignedint); // 資料型別,對應的是16位

下圖位大端儲存和小端儲存區別

音訊裝置資訊,通產用來判斷是否有音訊裝置。

qaudiodeviceinfo info = qaudiodeviceinfo::defaultinputdevice();

if (!info.isformatsupported(fmt))// 判斷是否支援配置

qt自帶的音訊輸入類,將上面設定的格式資訊給它,完成音訊輸入裝置初始化。

qaudioinput *input = new qaudioinput(fmt);

//開始錄製音訊

qiodevice *io = input->start();

//一次讀取一幀音訊 input->bytesready() 表示是準備好了多少資料(不是很準確)

if (input->bytesready() < readsize)

輸入qaudioinput 開始錄音後返回的device,根據device來讀取資料到 buffer

while (size != readsize)

完整demo實現了錄製音訊和rtmp推流操作。

MediaRecorder之音訊錄製

一 前言 在前面已經介紹過使用 mediarecorder,接下來就是看看音訊錄製的過程。二 音訊錄製 音訊錄製步驟如下 1 建立mediarecorder物件例項,可以通過預設的構造方法進行建立 2 設定音訊 編碼格式 編碼位率 取樣率等,分別通過 1 獲取的例項呼叫如下方法進行設定setaudi...

Linux下音效卡程式設計(錄製音訊檔案)

具體 如下 音效卡錄音功能 include include include include include include include 錄音時間 define length 3 取樣頻率 define rate 8000 量化位數 define size 16 聲道數目 define chann...

如何實現音訊合成立體聲錄製?

自anychat r4086版本開始,anychat支援音訊合成立體聲錄製,增加錄製標誌常量 var brac record flags stereo 0x00000200 錄製音訊時,將其它人的聲音混合為立體聲後錄製 複製 呼叫 為 var flags brac record flags vide...