2011-03-19 11 views
2

AVPlayerが準備を呼び出すときにAVAudioPlayerのようにバッファにオーディオを読み込ませる方法はありますか?私は、ユーザーが再生ボタンを押して、オーディオが再生を開始するまでの遅延時間を解消しようとしています。 AVAudioPlayerはもっと瞬時に見えますが、iPodライブラリからファイルを再生する必要があります。AVPlayerは、AVAudioPlayerのpreparetoplayに似たプリバッファーオーディオを使用できますか?

答えて

3

AVPlayerを使用してURLから曲を再生している場合、AVPlayerで「再生」を呼び出すと、その曲が読み込まれてから再生されます。ファイルがローカルの場合は同じ機能だと思います。それがあなたのiPodから来ている場合は、遅れ時間はすでに非常に小さい必要があります。

再生を呼び出してから一時停止すると、AVPlayerはその曲を読み込み続けるので、再生を再度呼び出すと(即時ではないと仮定して)、問題なく再生が開始されます。 URLから曲を再生するときにこれが動作することを確認できます。あなたのシナリオで試してみてください。

- (void) getPlayerReady { 
    // write some code here to setup the player 

    [player play]; 
    [player pause]; 
} 

- (IBAction) btnPlayTouched:(id)sender { 
    [player play]; 
} 

編集:AVQueuePlayerがこれを行うことにも言及する必要があります。複数の曲をAVQueuePlayerに渡すと、最初の曲が再生されている間に自動的に次の曲がプリバッファーされます。これがあなたの状況で使うことができるかどうかわかりません。

関連する問題