Search code examples
iosavplayeravassetavplayeritem

How to listen AVPlayer "on seek" events?


I'm looking for any "seek"-related events for AVPlayer/AVPlayerItem/AVAsset

Is there any way to listen such events? (maybe some key for kvo-listeners, not sure)


Solution

  • It seems there is a workaround with KVO (please tell me if it's wrong decision):

    case "currentItem.playbackBufferEmpty":
        if (player.rate == 0) {
            state = "SEEKING"
            on_seeking()
        }
    case "currentItem.status":
        if (player.currentItem?.status == .ReadyToPlay && player.rate == 0) {
            if (state != "SEEKING") {
                on_seeking()
            }
    
            state = "SEEKED"
            on_seeked()
        }