動画(AVPlayer)がたまに落ちる('Attempting to set a slider's minimumValue (0.000000) to be larger than the maximumValue (nan)' )
現在動画アプリを作っているのですが、たまに画面が真っ暗のまま固まってしまいます。ログには
'Attempting to set a slider's minimumValue (0.000000) to be larger than the maximumValue (nan)'
と表示されます。ネットで調べたところ、動画の取得状況をKVOで監視すると解決すると書いていたのですが、解決することができませんでした。ご教授していただけると幸いです。
以下が動画周りのコードです。
func setUpVideoPlayer(url: URL) {
assets = AVAsset(url: url)
playerItem = AVPlayerItem(asset: assets)
player = AVPlayer(playerItem: playerItem)
playerItem.addObserver(self, forKeyPath: "status", options: [.old, .new], context: nil)
videoPlayerView.player = player
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
guard let keyPath = keyPath else {
return
}
if keyPath == "status" {
let status = playerItem.status
switch status {
case .unknown:
print("unknown")
return
case .readyToPlay:
do {
print("readyToPlay")
videoPlayerView.player?.play()
}
case .failed:
print("failed")
return
}
}