2011-12-02 6 views
6

Estoy usando el algoritmo de Matt Gallagher para reproducir mp3 en iOS pero a veces cuando pausas la aplicación y, después de un tiempo, reanudas la canción aparece un mensaje: " No se puede configurar la lectura de la secuencia de red ". He analizado el código, pero no veo cómo evitar este error. ¿Alguien ha logrado lidiar mejor con este error?AudioStreamer de Matt Gallagher en iPhone: no se puede configurar la secuencia de lectura de red

Matt Gallagher's AudioStreamer code

+0

¿Alguna respuesta que pueda compartir al respecto? –

+0

He tenido este problema cuando no hay conectividad a Internet. ¿Podría ser esto un factor? ¿Es cuando te estás moviendo desde o hacia wifi? – Jensen2k

Respuesta

5

he experimentado lo mismo con esta aplicación tercera parte y no pude encontrar una solución para eso y AVPlayer nativa de Apple entonces he intentado (no avaudioplayer) que le da la capacidad de transmitir con la función :initWithURL. aquí está la referencia de clase, por cierto: http://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html

además aquí es mi código para la reproducción de música:

NSURL *url = [[NSURL alloc] initWithString:sourceURL]; 
      theItem = [AVPlayerItem playerItemWithURL:url]; 
      theItem addObserver:self forKeyPath:@"status" options:0 context:nil]; 
      theAudio = [AVPlayer playerWithPlayerItem:mainDelegate.theItem]; 

para ponerse al día si el jugador es jugar readyto agrega el observador arriba y entonces usted puede comprobarlo como :

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
         change:(NSDictionary *)change context:(void *)context { 
    if (object == theItem && [keyPath isEqualToString:@"status"]) { 
     if(theItem.status == AVPlayerStatusReadyToPlay)  
     { 
      [theAudio play]; 
      [theItem removeObserver:self forKeyPath:@"status"]; 
     } 
     else if(theItem.status == AVPlayerStatusFailed) { 
      NSLog(@"%@" , mainDelegate.theItem.error.description); 
     } 
     else if(theItem.status == AVPlayerStatusUnknown) 
      NSLog(@"unknown"); 
    } 
} 

Espero que esto ayude.

Cuestiones relacionadas