2011-02-28 76 views
4

HI,MPMusicPlayerController速度调整

有什么方法可以调整MPMusicPlayerController播放的歌曲的速度吗?

我到处搜索,但没有发现任何有用的东西。如果没有办法做到这一点,我可以在哪里找到一个与其他组件一起使用的例子?有人说OpenAL的,但我不能找到使用iPod库这一点,并改变乐曲的速度没有任何明确的方式...

主要是我需要的东西是:

  1. 用户选择从iPod库槽MPMusicPlayerController
  2. 一首歌你有2个按钮:慢下来&加快

如果用户按下“减速”这首歌的速度由慢下来让说5%或某事。 “加快”反之亦然。

我真的很希望有人能帮助我!

在此先感谢!

回答

-1

不,你不能只使用MPMusicPlayerController来做到这一点。

如果您不介意音高随速度变化而变化,那么您可以在将声音文件转换为原始PCM样本文件或缓冲区后使用OpenAL重新采样器。

如果你不想要改变音调,你正在寻找的是DSP时间间距拉伸/修改/校正技术。 OpenAL无法做到这一点,但有商业DSP库(DIRAC可能是唯一一个)可以在iOS上执行此操作。您也可以尝试编写自己的相位声码器,但这是非平凡的数字信号处理代码。

+0

您好,感谢您的回复。我已经看到了DIRAC,但商业许可证花费了近10k ...所以对于一个小而有趣的应用程序来说,它太昂贵了。但是,例如,如何将Meister和Tap DJ混合在一起进行划痕? – CyberK 2011-02-28 23:12:34

1

您可以将AVAudioPlayer和AVPlayer用于上述目的。
他们有一个速度属性,可以设置歌曲的速度。

[AVPlayer setRate:1.25]; // 25% faster 

然而,AVPlayer不能由5%,但25%的变化的速度和AVAudioPlayer工程iOS 5及以上。
如果你想要去其他选择,那么Dirac是最好的选择。试试DIRAC 3 LE这是免费的。

使用此Link了解如何使用Dirac。欲了解更多信息,请告诉我。

@girish_vr