Qt从Axis Camera播放音频

时间:2011-11-15 10:58:46

标签: qt ffmpeg live555

我希望从Axis Camera获得一个RTP音频流,然后在我的Qt项目中实时播放。

我正在使用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。

1 个答案:

答案 0 :(得分:0)

我认为你的问题与你的采样率有关 - 22KHz似乎很低。将它增加到44.1K有多大差异? (我认为您还需要检查QAudioDeviceInfo::supportedSampleRates().contains((int)SampleRate)是否选择SampleRate