iphone uiwebview mpmovieplayercontroller

iphone - Recibe una notificación cuando un video comienza o se detiene en UIWebView



mpmovieplayercontroller (2)

Busqué mucho sobre esto ... Aquí está la solución que encontré para recibir la llamada de notificación final de reproducción. Código probado en iOS6.0 y superior . Todo gracias a @Morten .

En viewDidLoad agregar observador

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidEnd:) name:@"MPAVControllerItemPlaybackDidEndNotification"//@"MPAVControllerPlaybackStateChangedNotification" object:nil];

A continuación, simplemente agregue el siguiente código de webViewDidFinishLoad delegado webViewDidFinishLoad como se muestra a continuación

- (void)webViewDidFinishLoad:(UIWebView *)webView { //http://stackoverflow.com/a/12504918/860488 [videoView stringByEvaluatingJavaScriptFromString:@"/ var intervalId = setInterval(function() { / var vph5 = document.getElementById(/"video-player/");/ if (vph5) {/ vph5.playVideo();/ clearInterval(intervalId);/ } / }, 100);"]; } - (void)playbackDidEnd:(NSNotification *)note { //do your stuff here [videoView removeFromSuperview]; videoView.delegate = nil; videoView = nil; }

Obtendrá la reproducción. Finalizó la llamada en el cuadro anterior seleccionado y puede hacer lo que necesite. Happy Coding !!

Hola, soy nuevo en el objetivo - c

Tengo un problema con UIWebView y MPMoviePlayerController : My UIWebView tiene una película dentro del html (es un archivo html local), estoy usando html5 y una etiqueta de video para el video.

Quiero una notificación cuando el video comienza o se detiene en UIWebView ....

He intentado usar MPMoviePlayerPlaybackDidFinishNotification , pero no se dispara ...

También he intentado hacer que mi vista principal de UIViewController una visión propia, e interceptar -didAddSubview: y -willRemoveSubview: pero sin éxito ...

¿ uiwebview cuerpo sabe cómo recibir notificaciones de uiwebview ?


Puede observar @"MPAVControllerPlaybackStateChangedNotification" (use nil para el objeto). Esta notificación no está documentada, por lo que no sé si la App Store aprobará tu aplicación.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackStateDidChange:) name:@"MPAVControllerPlaybackStateChangedNotification" object:nil];

La notificación tiene la clave MPAVControllerNewStateParameter en su userInfo . El valor parece ser 0 antes de que comience la reproducción, 1 cuando está en pausa, 2 cuando se está reproduciendo y 3 (momentáneamente) cuando está arrastrando el control deslizante de reproducción.

- (void)playbackStateDidChange:(NSNotification *)note { NSLog(@"note.name=%@ state=%d", note.name, [[note.userInfo objectForKey:@"MPAVControllerNewStateParameter"] intValue]); }