我想从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