La cuestión es que player.status vuelve AVPlayerStatusReadyToPlay
un total de 2 segundos antes de player.currentItem.status vuelve AVPlayerItemStatusReadyToPlay
. ¿Alguien tiene alguna explicación útil sobre por qué está sucediendo esto?
Esto es solo un código de muestra para mostrar la idea básica de lo que está pasando, de modo que si hay algún error tipográfico o algo así, ignórelo.AVPlayerStatus vs AVPlayerItemStatus
- (void) someMethod
{
player = [[AVPlayer alloc] initWithURL:someValidURL];
[player play];
NSTimer *timer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(checkStatus:) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
}
- (void) checkStatus: (NSTimer *)timer
{
NSLog(@"player status: %i", player.status]);
NSLog(@"player item status: %i", player.currentItem.status]);
}
Hmmm ... no hay respuestas. También parece haber una demora arbitraria entre llamar [reproducir jugador] y escuchar audio; y esto es después de que uno o ambos Estatus dicen que están listos. Solo puedo imaginar que estos son solo errores/peculiaridades de AVPlayer y que por eso no hay una explicación real de lo que está sucediendo ...? – SteveB
¿Pudo resolver esto? Estoy experimentando un problema similar aquí http://stackoverflow.com/questions/13977805/avplayer-skips-the-beginning-of-a-video y creo que podría estar relacionado – GingerBreadMane
Nunca encontré una respuesta. Aunque echaré un vistazo a tu pregunta. – SteveB