【发布时间】:2018-02-08 02:48:53
【问题描述】:
我正在研究创建简单视频播放器的选项。我想做的是在播放视频时应用一些音频处理(例如为简单起见的低通滤波器)。我看过 Qt 多媒体 API,所以这是我的主要问题:
- 如何编辑 QMediaPlayer 的音频输出?我是否需要一些较低级别的 API?
此外,如果其他一些技术更适合此目的或提供更好的开源库,请随时提出建议。我也有 C# 的经验。
【问题讨论】:
标签: c++ qt qtmultimedia
我正在研究创建简单视频播放器的选项。我想做的是在播放视频时应用一些音频处理(例如为简单起见的低通滤波器)。我看过 Qt 多媒体 API,所以这是我的主要问题:
此外,如果其他一些技术更适合此目的或提供更好的开源库,请随时提出建议。我也有 C# 的经验。
【问题讨论】:
标签: c++ qt qtmultimedia
QMediaPlayer 不允许对音频数据进行低级访问。 我建议你使用 QAudioOutput 和 QAudioDecoder 类来达到你的目的。 QAudioDecoder 产生QAudioBuffer 对象。您可以访问这些对象的 data(),对其进行处理(修改)并将其提供给 QAudioOutput 对象的 start() 方法返回的 QIODevice。 这将是播放器的音频播放路径。 对于视频,您仍将使用静音 QMediaPlayer 来解码来自同一文件的视频帧并将它们输出到QAbstractVideoSurface。然后,您需要一种算法来同步上述两种方法产生的视频和音频帧。
【讨论】: