2011-12-05 8 views
5

prepareToPlayへの呼び出し後にAVAudioPlayerの準備が整ったことを知ることはできますか?iPhoneのAVAudioPlayer prepareToPlayコールバック

もしそうでなければ、この機能を提供する他のクラスはありますか?

私はこのような何かを実装したいと思います:

- (void) prepare { 
    [audioPlayer prepareToPlay]; 
    // Update UI to indicate that the audio is being prepared 
} 

- (void) onAudioReady { 
    // Update UI to indicate that the audio is ready 
} 

答えて

0

は、オーディオを初期化してからonAudioReady方法で即座にそれを再生することができ、このクラスがあります。あなたは、オーディオハードウェアがマニュアルに従って初期化されているかどうかを確認するために[audioPlayer prepareToPlay]からのBOOL結果を確認することができhttps://stackoverflow.com/a/10417762/1474080

OR

:この記事を参照して

https://github.com/nicklockwood/SoundManager

。結果がYESの場合、ユーザーに表示するUIを生成できます。

prepareToPlay オーディオプレーヤのバッファをプリロードすることで再生用に準備します。

  • (BOOL)prepareToPlay戻り値成功するとYESを返し、失敗するとNOを返します。

ディスカッションこのメソッドのプリロード・バッファを呼び出すと、プレイ方法及び音声出力の開始 を呼び出し間の遅延を最小限に再生するために必要なオーディオ ハードウェアを取得します。

stopメソッドを呼び出すか、サウンドの再生を許可するには、 この設定を元に戻します。