Qt和C ++中的Changin mp3速度[QMediaPlayer]

时间:2015-10-12 18:42:09

标签: c++ qt qmediaplayer playback-rate

我正在尝试开发一个小应用程序,您可以在其中加载mp3文件并以可变速度播放它! (我知道它已经存在:-))

我使用的是Qt和C ++。我已经有了基本的播放器,但我仍然坚持使用速率的东西,因为我想在不停止播放的情况下平滑地改变速率(如在Mixxx中)!如果我更改值并在声音中创建间隙,QMediaPlayer将始终停止。我也不想改变音调!

我已经找到了一些名为" SoundTouch"但是现在我完全不知道如何处理它,如何处理我的mp3数据以及如何将它传递给玩家! " SoundTouch"图书馆能够做我想做的事情,我从homepage的样本中得到了。

  • 如何导入mp3文件,以便我可以使用SoundTouch功能
  • 处理它
  • 如何播放SoundTouch功能的输出? (也许QMediaPlayer可以完成这项工作?)
  • 这些东西是如何完成的?我想我必须做某种流吗?所以我可以在比赛期间改变速度并继续比赛而没有间隙。在我的头脑中,它必须是数据和播放器之间的东西,所有数据都必须通过实时,使用一个小缓冲区(大约20-50毫秒),以避免在处理未来数据时出现间隙。

任何帮助表示赞赏! 我也接受任何其他解决方案然后" SoundTouch"只要我能使用Qt / C ++!

(第二件事:我想查看波形概述以及它的移动部分(围绕歌曲的实际位置),所以我也可以使用关于如何获取波形数据的提示)

提前致谢!

1 个答案:

答案 0 :(得分:0)

截至目前(Qt 5.5),这与QMediaPlayer无关。您需要执行以下操作:

此策略尽可能使用Qt,并为您带来最佳平台覆盖率(尽管因为它不支持QAudioOutput,您仍会丢失Android)