0
從QAudioInput
讀取低級音頻時,得到的數據爲QByteArray
。當設置QAudioInput
時,可以從數據中告訴它所需的樣品類型。如果你指定float,那麼這是否意味着QByteArray
中的數據已經是這種格式?如果是這樣,你是否簡單地將輸出數據轉換爲浮點數組?如果它不是如何被存儲以獲得預期的浮點數?從QAudioInput的qbytearray獲得浮點陣列
從QAudioInput
讀取低級音頻時,得到的數據爲QByteArray
。當設置QAudioInput
時,可以從數據中告訴它所需的樣品類型。如果你指定float,那麼這是否意味着QByteArray
中的數據已經是這種格式?如果是這樣,你是否簡單地將輸出數據轉換爲浮點數組?如果它不是如何被存儲以獲得預期的浮點數?從QAudioInput的qbytearray獲得浮點陣列
所有的計算機內存都是單獨的字節,但是您可以將這些字節存儲在任何您想要的內容中。不要把QByteArray
當作QVector<char>
,QByteArray
是Qt的「通用內存緩衝區」類。
如果記錄格式是一個浮點數,那麼只需從字節數組中讀取浮點數,不需要轉換,實際上它會給你比浮點數大於一個字節的樣本數多,而且你會得到垃圾。
您可以直接訪問字節數組data
指針並從中讀取size()/sizeof(float)
浮點數。