Saber cuándo el objeto AVPlayer está listo para jugar

Estoy tratando de jugar unMP3 archivo que se pasa a unUIView de un @ anteriUIView (almacenado en unNSURL *fileURL variable)

Estoy inicializando unaAVPlayer con

player = [AVPlayer playerWithURL:fileURL];

NSLog(@"Player created:%d",player.status);

LosNSLog imprimePlayer created:0, que pensé significa que aún no está listo para jugar.

Cuando hago clic en el playUIButton, el código que ejecuto es:

-(IBAction)playButtonClicked
{
    NSLog(@"Clicked Play. MP3:%@",[fileURL absoluteString]);

    if(([player status] == AVPlayerStatusReadyToPlay) && !isPlaying)
//  if(!isPlaying)
    {
        [player play];
        NSLog(@"Playing:%@ with %d",[fileURL absoluteString], player.status);
        isPlaying = YES;
    }
    else if(isPlaying)
    {

        [player pause];
        NSLog(@"Pausing:%@",[fileURL absoluteString]);
        isPlaying = NO;
    }
    else {
        NSLog(@"Error in player??");
    }

}

Cuando ejecuto esto, siempre obtengoError in player?? en la consola. Sin embargo, si reemplazo elif condición que comprueba siAVPlayer está listo para jugar, con un simpleif(!isPlaying) ..., entonces la música suena LA SEGUNDA VEZ que hago clic en la reproducciónUIButton.

El registro de la consola es:

Clicked Play. MP3:http://www.nimh.nih.gov/audio/neurogenesis.mp3
Playing:http://www.nimh.nih.gov/audio/neurogenesis.mp3 **with 0**

Clicked Play. MP3:http://www.nimh.nih.gov/audio/neurogenesis.mp3
Pausing:http://www.nimh.nih.gov/audio/neurogenesis.mp3

Clicked Play. MP3:http://www.nimh.nih.gov/audio/neurogenesis.mp3
2011-03-23 11:06:43.674 Podcasts[2050:207] Playing:http://www.nimh.nih.gov/audio/neurogenesis.mp3 **with 1**

Veo que la SEGUNDA VEZ, laplayer.status parece contener 1, que supongo esAVPlayerReadyToPlay.

¿Qué puedo hacer para que la reproducción funcione correctamente la primera vez que hago clic en playUIButton? (es decir, ¿cómo puedo asegurarme de queAVPlayer no solo se creó, sino que también está listo para jugar.)

Respuestas a la pregunta(8)

Su respuesta a la pregunta