estoy jugando un pequeño vídeo en el controlador de mpmediaplayer utilizando este códigoplayer.duration muestra siempre cero en MPMoviePlayerController de archivo de vídeo
MPMoviePlayerController *player = [[MPMoviePlayerController alloc]
initWithContentURL:[NSURL fileURLWithPath:videostr]];
donde videostr es ruta de ese archivo de vídeo.
Ahora necesito obtener la longitud de ese archivo de video para el que estoy usando este código.
length = player.duration;
Pero siempre muestra 0.000. Pero el video está jugando bien.
Estoy comprobando mediante Google cada código para obtener la duración del video es player.duration
solamente.
Y trato de algún otro código también
AVURLAsset *asset = [[[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:videostr]
options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], AVURLAssetPreferPreciseDurationAndTimingKey, nil]] autorelease];
NSTimeInterval duration;
if (asset)
duration = CMTimeGetSeconds(asset.duration) ;
NSLog(@">>>>>>>>>>>>>>>>>>>> %f", asset.duration);
a pesar de que muestra zero.Can cualquiera, por favor me ayude.
Gracias de antemano.
notificación: MPMoviePlayerLoadSadDidChangeNotification llame 2 veces de forma automática – g212gs
Si el video está pausado de manera predeterminada, esta solución no funciona, porque esta notificación se invoca cuando el usuario ejecuta la acción de reproducción. ¿Existe alguna forma de obtener la duración anterior? – jose920405