Getting "The operation couldn't be completed (Error Domain=CoreMediaErrorDomain Code=1718449215)" or "Cannot decode" error when I'm trying to play next video from video list using AVPlayer. If I restart my app again then video is playing where I was getting error (getting status = failed from "AVPlayerItem") but another video is unable to play without restart the app while I'm releasing all AVPlayer instance before playing next video.
private var playerItemObserver: NSKeyValueObservation?
private var playerItem: AVPlayerItem? {
willSet {
/// Remove any previous KVO observer.
guard let playerItemObserver = playerItemObserver else {return }
playerItemObserver.invalidate()
}
didSet {
playerItemObserver = playerItem?.observe(\AVPlayerItem.status, options: [.new, .initial]) { [weak self] (item, _) in
guard let strongSelf = self else { return }
if item.status == .readyToPlay {
// Ready to Play Video
} else if item.status == .failed {
// Unable to play video
}
NotificationCenter.default.addObserver(strongSelf, selector: #selector(strongSelf.failedToPlayToEndTime), name: .AVPlayerItemFailedToPlayToEndTime, object: item)
}
}
}
Geeting error and expecting everytime status == .readyToPlay while play each video without restart the app.