我想從Axis Camera獲取RTP音頻流,然後在我的Qt項目中實時播放它。Qt來自Axis Camera的音頻播放
我使用Live555來管理音頻流並使用FFMPEG對其進行解碼。當我解碼包我發出這就是我的小部件的插槽內管理與信號:
ap.ioDevice->write((const char*)ptrArr, frameSize);
的問題是,當我聽,我的聲音,但一點點的金屬! 我設置這些參數爲QAudioOutput
:
format.setFrequency(22050);
format.setChannels(1);
format.setSampleSize(16);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::UnSignedInt);
有什麼不對?
謝謝大家。
正如我在評論中所說,我可以獲得8000Hz和2個通道足夠清晰的播放。
現在我試圖解決其他問題,比我會嘗試提高音頻質量,例如Phonon。
根據[文檔](http://doc.qt.nokia.com/stable/qaudioformat-obsolete.html),'setFrequency'和'setChannels'都是過時的,僅用於傳統目的。我不確定它是你問題的根源,但最好使用'setSampleRate'和'setChannelCount'來代替。 – sjwarner
好吧,我試着用setSampleRate和setChannelCount,但效果是一樣的。我設置了8000和2個頻道,現在效果更好。我只想降低低頻率。你知道我該怎麼做嗎? – user1047400
是的,雖然我不會有任何區別,但由於'setFrequency'現在被列爲過時,在將來的Qt版本中可能會完全放棄它,這意味着如果更新代碼可能會中斷:) – sjwarner