3254523 3254523 - 1 year ago 126
iOS Question

How to detect when an AVPlayerItem is finished playing?

I've been looking through the

docs and there doesn't seem to be any callbacks for when the item is finished playing. I was hoping that there would be some sort of delegate callback that we can utilize or that
would provide a custom action for us to write.

How can i figure out a way to detect when AVPlayer has finished playing an item?

Answer Source

It uses NSNotification to alert when playback is finished.

Register for the notification:

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

Method to call when done:

-(void)itemDidFinishPlaying:(NSNotification *) notification {
    // Will be called when AVPlayer finishes playing playerItem
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download