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]);
}