AVPlayerLayer показывает черный экран, но звук работает
Я пытаюсь отобразить местное записанное видео вAVPlayerLayer который работаетиногда, Я могу слышать звук из записанного видео, но не вижу видео. Иногда работает как видео, так и аудио, иногда только аудио.
Я пробовал оба сAVPlayerLayer а такжеAVPlayerViewController но та же проблема возникает в обоих случаях. Так что это не из-за неправильных кадров.
Пример кодаAVPlayerViewController:
let player = AVPlayer(url: url)
let playerController = AVPlayerViewController()
playerController.player = player
self.present(playerController, animated: true) {
player.play()
}
Пример кодаAVPlayerLayer:
let asset = AVAsset(url: url)
let item = AVPlayerItem(asset: asset)
self.player = AVPlayer(playerItem: item)
self.player?.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions(), context: nil)
self.playerLayer = AVPlayerLayer(player: self.player!)
self.playerLayer?.frame = imageView.bounds
imageView.layer.addSublayer(self.playerLayer!)
Изменить 1:
Наблюдая за статусом игрока,ошибка являетсяnil
истатус являетсяreadyToPlay
Изменить 2:
Работает нормально, если URL удален.
Изменить 3:
Кажется, работает, если я подожду пару секунд после завершения экспорта видео. Может ли быть что-то, что файл не записан на 100% в файловую систему?
Изменить 4:видео проблемы, в этом случае он играл в 3-й раз.