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-й раз.

Ответы на вопрос(2)

Ваш ответ на вопрос