Actualmente estoy usando un AVPlayer, junto con un AVPlayerLayer para reproducir algunos videos. Mientras reproduzco el video, me he registrado para actualizaciones de tiempo cada 30 segundos durante el video. Esto se usa para dibujar un gráfico de la aceleración en ese punto del video y hacer que se actualice junto con el video. El gráfico usa CMTime del video, por lo que si omito una parte diferente del video, el gráfico inmediatamente representa ese punto en el video sin trabajo adicional.AVPlayerLayer - ¿Reprogramando la rueda?
Anywho, hasta donde yo sé, si quiero obtener una interfaz similar a la que ofrece el framework MediaPlayer, tendré que hacerlo yo mismo.
Lo que me pregunto es, ¿hay alguna manera de usar mi AVPlayer con el marco MediaPlayer? (No es que yo pueda ver). O, ¿hay alguna manera de registrarse para actualizaciones incrementales de tiempo con el marco MediaPlayer?
Mi código, si alguien está interesado, sigue:
[moviePlayer addPeriodicTimeObserverForInterval: CMTimeMake(1, 30) queue: dispatch_queue_create("eventQueue", NULL) usingBlock: ^(CMTime time) {
loopCount = (int)(CMTimeGetSeconds(time) * 30);
if(loopCount < [dataPointArray count]) {
dispatch_sync(dispatch_get_main_queue(), ^{
[graphLayer setNeedsDisplay];
});
}
}];
Gracias!
Woa. esta respuesta es casi un año más tarde que la pregunta, ¡y aún así me aceptaron! Bravo. – Almo