2017-08-30 39 views
0

我正在研究创建简单视频播放器的选项。我想要做的是在播放视频的同时应用一些音频处理(例如,为了简化低通滤波器)。我看的Qt多媒体API,所以这是我的主要问题:QMediaPlayer - 随时修改音频

  • 我怎么能编辑QMediaPlayer的音频输出?我需要一些较低级别的API吗?

此外,如果某些其他技术更适合此目的或提供更好的开源库,请随时提出建议。我也有使用C#的经验。

回答

1

QMediaPlayer不允许低级别访问音频数据。 我建议你使用QAudioOutputQAudioDecoder类为您的目的。 QAudioDecoder生成QAudioBuffer对象。您可以访问这些对象的data(),处理它(修改它)并将其提供给由QAudioOutput对象的start()方法返回的QIODevice。 这将是您播放器的音频播放路径。 对于视频,您仍将使用静音的QMediaPlayer来解码来自同一文件的视频帧并将其输出到QAbstractVideoSurface。然后您需要一种算法来同步由上述两种方法生成的视频和音频帧。