2010-12-16 22 views
6

Estoy usando AVPlayer para reproducir una transmisión en vivo desde Internet. AVPlayer se puede pausar, pero en la reanudación comienza desde el momento en que se detuvo, al igual que un TiVO. AVPlayer no tiene un método de parada.Detener AVPlayer en iOS

¿Cómo hace uno para continuar con lo que se está transmitiendo actualmente (como si apagaras la radio de tu auto y la volviese a encender)?

+0

¿depende del servidor de transmisión? – onmyway133

Respuesta

1

-(void)seekToTime:(CMTime)time

uso de este método para llegar al comienzo del archivo

-1

SeekToTime no parará el audio, así que una vez que llegue a la final si sólo se llama seekToTime se acaba de empezar a jugar de nuevo como un bucle. Puede usar la versión siguiente con una devolución de llamada para pausar el video/audio tan pronto como se complete la búsqueda para que se restablezca y se detenga simultáneamente.

[_player seekToTime:CMTimeMake(0, 1) completionHandler:^(BOOL finished) { 
    [_player pause]; 
}]; 
-1
[player pause]; 
[item_ removeObserver:self forKeyPath:@"status" context:nil]; 
[item_ removeObserver:self forKeyPath:@"playbackBufferEmpty" context:nil]; 
[item_ removeObserver:self forKeyPath:@"playbackLikelyToKeepUp" context:nil]; 
[item_ removeObserver:self forKeyPath:@"timedMetadata" context:nil]; 
player=nil; 
1

para detener una AVPlayer:

[player replaceCurrentItemWithPlayerItem:nil]; 

Eso va a liberar todos los recursos de memoria y procesador y su activo asociado consumido. Simple como eso.

Cuestiones relacionadas