2011-02-28 78 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