我的问题是:我正在尝试进行无缝循环(我打算让我的 AVPlayer 或 AVPlayerQueue,循环播放之间没有任何延迟)。因此,例如,如果我制作一个视频并进行播放,它应该无限循环,中间没有任何光点或循环延迟。
我已经编写了下面的代码(它也直接来自示例代码):
var playerQQ: AVQueuePlayer!
var playerLayur: AVPlayerLayer!
var playerEyetem: AVPlayerItem!
var playerLooper: AVPlayerLooper!
func playRecordedVideo(videoURL: URL) {
playerQQ = AVQueuePlayer()
playerLayur = AVPlayerLayer(player: playerQQ)
playerLayur.frame = (camBaseLayer?.bounds)!
camBaseLayer?.layer.insertSublayer(playerLayur, above: previewLayer)
playerEyetem = AVPlayerItem(url: videoURL)
playerLooper = AVPlayerLooper(player: playerQQ, templateItem: playerEyetem)
playerQQ.play()
}
上面的代码没有无缝循环;它在当前播放器的结尾和下一个播放器之间有光点。我已经尝试了很多找到问题并在网上搜索并没有找到解决方案。此外,我一直在尝试 NSNotifications 和其他方法,包括在播放器完成播放时设置 Player.seek(to: zero)。但根本没有任何效果。
任何帮助,将不胜感激 :)