我正在尝试在中显示本地录制的视频AVP播放器层哪个有效有时。我可以听到录制视频中的音频,但看不到视频。有时视频和音频都可以工作,有时只有音频。
我都尝试过AVP播放器层 and AVPlayerViewController但这两种情况都会出现同样的问题。所以这不是因为框架错误。
示例代码AVPlayerViewController:
let player = AVPlayer(url: url)
let playerController = AVPlayerViewController()
playerController.player = player
self.present(playerController, animated: true) {
player.play()
}
示例代码AVP播放器层:
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!)
Edit 1:
在观察玩家的状态时,error is nil
和status is readyToPlay
Edit 2:
如果 URL 是远程的,则工作正常。
Edit 3:
如果我在视频完成导出后等待几秒钟,似乎可以工作。是否是文件未 100% 写入文件系统的原因?
Edit 4:
Video问题的根源,在本例中,它播放了第三次。