descargar ios avplayer

ios - descargar - ¿Cómo detectar cuando un AVPlayerItem ha terminado de jugar?



avplayer windows (3)

Así es como lo hice.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:AVPlayerItemDidPlayToEndTimeNotification object:player.currentItem]; - (void)movieFinishedCallback:(NSNotification*)aNotification { // [self dismissViewControllerAnimated:YES completion:Nil]; }

He estado revisando los documentos de AVPlayerItem y AVPlayer y no parece haber devoluciones de llamada para cuando el elemento haya terminado de reproducirse. Esperaba que hubiera algún tipo de devolución de llamada de delegado que podamos utilizar o que AVPlayerActionAtItemEnd proporcione una acción personalizada para que escribamos.

¿Cómo puedo encontrar una manera de detectar cuándo AVPlayer ha terminado de reproducir un elemento?


Swift-i-fied (versión 3)

class MyVideoPlayingViewController: AVPlayerViewController { override func viewDidLoad() { // Do any additional setup after loading the view. super.viewDidLoad() let videoURL = URL(fileURLWithPath: Bundle.main.path(forResource: "MyVideo", ofType: "mp4")!) player = AVPlayer(url: videoURL) NotificationCenter.default.addObserver(self, selector: #selector(MyVideoPlayingViewController.animationDidFinish(_:)), name: .AVPlayerItemDidPlayToEndTime, object: player?.currentItem) } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) player?.play() } func animationDidFinish(_ notification: NSNotification) { print("Animation did finish") } deinit { NotificationCenter.default.removeObserver(self) } }


Utiliza NSNotification para alertar cuando finaliza la reproducción.

Registrarse para la notificación:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying:) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem];

Método para llamar cuando haya terminado:

-(void)itemDidFinishPlaying:(NSNotification *) notification { // Will be called when AVPlayer finishes playing playerItem }