2011-08-02 14 views
0

私はリズムゲームを作っています。テンポの違う音を出す必要があります。換言すれば、例えば。私は[AVAudioPlayer play]を2秒で8回持っています。AVAudioPlayerはサウンドのテンポを変更しますか?

+0

私はFinchを使用しています。ピッチを簡単に変更できます。しかし、私はテンポを変える必要があります。 setDurationメソッドを見ていますか? FinchでsetDurationを使用する方法を知っている人はいません。 – Zeeshan

答えて

0

私は、フーリエ変換を使用してピッチシフトを使用しました - ソースコード

http://www.dspdimension.com/download/

+0

こんにちはこのライブラリはピッチを変えずにテンポを変更できますか? (注釈を変更しない) – Martin

3

enableRate 

rate 

にAVAudioPlayerクラスのプロパティをチェックしてください。あなたはaudioplayerを作成した後、しかし、あなたがプレイする前に、

audioPlayer.enableRate=YES; 

を設定し、あなたがプレーした後、その後、スピードアップやトラックを遅くするために1.0以上または以下の番号にレートを設定。音楽の場合、0.8未満または1.2以上の音が悪くなり始めますが、BMPを数回上下させると簡単にそのトリックを行います。

playはレートを1に設定し、stopはレートを0に設定するため、再生後に希望のレートを設定してください。

関連する問題