2009-07-28 30 views

答えて

6

AVAudioPlayerあなたは貧乏人のスピードアップを行うことができるように/ QuickTime Playerのと同じ方法を逆に、あなたがコントロールを高速与えるものではありませんが、それはあなたがポジションを設定できません。ファイルを飛び越え、小さなスニペットを通常の速度で再生します。

またはオフラインAudioQueueでサンプルを解凍し、必要な速度で実行します。それが私の行いなのです。

+0

こんにちはリズミックフィストマン、 返信いただきありがとうございます!あなたは私に[email protected]宛に電子メールを送ることができますか?私はあなたに質問をしたいと思います... ありがとう トム – crashtesttommy

+8

なぜ私はスタックオーバーフローについて質問しませんか? –

5

再生エンジン(Audio Queue、リモートI/Oユニット、OpenAL)に送信する際にサンプルレートを微調整することをお勧めします。 PCMの場合、これはPCM以外のものではうまくいきません(Audio Converter ServicesでMP3またはAACを圧縮解除する必要があります)。AudioStreamBasicDescriptionをこのように調整することで、オーディオのスピードアップを図ることができます:

audioStreamDesc.mSampleRate = audioStreamDesc.mSampleRate * 1.2; 

これは、オーディオのピッチも変わることに注意してください。これは、スピードが速く、ピッチも高いことに注意してください。 Macには、音程を変えずに再生速度を変更できるシステム付属のオーディオユニットがありますが、iPhoneにはないようです。

+0

こんにちは、 ご返信ありがとうございます。はい、私はこれを行い、これはうまくいきますが、再生中に速度を変更することはできません。または私はできますか?逆もまたできませんか? ありがとう Tom – crashtesttommy

+1

私はオーディオコンバーターがiPhoneのMP3/AACで動作するとは思わない。 3.0で修正されていない限り、オフラインオーディオキューを使用する必要があります。 –

5

iOS 6(と私は5と考えています)では、AVAudioPlayerの再生速度を調整できます。必要な余分なコードは:

player = [[AVAudioPlayer alloc] initWithContentsOfURL: 
       [NSURL fileURLWithPath:path] error:&err]; 
    player.enableRate=YES; 
    player.rate = 0.5; 
    [player play]; 

率は0.5と2.0の間の範囲にすることができない、とenableRateは、再生開始前にYESに設定されている限り、再生中に調整することができます。

関連する問題