2010-10-19 15 views
5

Actualmente estoy desarrollando una aplicación web-tv que utiliza MPMoviePlayerViewController resp. MPMoviePlayer para reproducir contenido de video de transmisión en el iphone.MPMoviePlayerViewController detiene la reproducción al desconectar auriculares

El problema que tengo aquí es que una vez que desenchufo mis auriculares (mientras veo la televisión) el reproductor se detiene. Debido a que no estoy mostrando los controles estándar (botón anterior, botón reproducir/pausa, botón siguiente) pero mis controles personalizados, el usuario está atascado con la imagen congelada a menos que cambie a un nuevo canal.

¿hay alguna manera de detectar una interrupción de la reproducción causada al desconectar los auriculares?

gracias por sus tips sobre el tema y trucos de antelación,

sam

Respuesta

3

que no tienen una respuesta directa a su pregunta. Pero creo que MPMoviePlayerPlaybackStateDidChangeNotification será lo suficientemente bueno para resolver su problema. Una vez que se le notifique, obtenga el estado de reproducción de la propiedad playbackState del objeto del reproductor de películas y tome las medidas apropiadas.

2

Abundando en la respuesta aceptada con algo de código:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(videoPlaybackStateChanged:) 
              name:MPMoviePlayerPlaybackStateDidChangeNotification 
              object:moviePlayer]; 


- (void)videoPlaybackStateChanged :(NSNotification *)notification 
{ 
    if (moviePlayer != nil && [moviePlayer playbackState] == MPMoviePlaybackStatePaused) 
    { 
     [moviePlayer play]; 
    } 
} 
+0

Vale la pena señalar que los '[MoviePlayer playbackState]' 'cambios en MPMoviePlaybackStatePaused' al final de la película. Por lo tanto, si no desea que la película se repita, deberá verificar que no esté al final con '[moviePlayer currentPlaybackTime]! = [MoviePlayer duration]'. – zyzof

Cuestiones relacionadas