我正在遵循此tutorial,然后使用Xcode版本11.3.1创建应用。该应用程序可检测电影的后盖(AR Resources文件夹中的背面图像),然后显示电影的预告片。视频的尺寸为1280 X 720像素。在教程视频中,使用的视频是在iPhone(1080 X 1920像素)上拍摄的。以前,我曾尝试在iPhone上播放视频录像,并且可以正常工作。当我尝试使用非这些尺寸的视频时,应用会在检测到图像时冻结。我正在使用iPhone 7,并且尝试使用iPhone 11,但仍然没有运气。我也尝试过以不同的文件类型(AVI视频,MPEG视频和QuickTime视频)运行视频,但这没有帮助。这是代码中有问题的部分:
let videoURL = Bundle.main.url(forResource: "BDVideo", withExtension: "mp4")!
let videoPlayer = AVPlayer(url: videoURL)
let videoScene = SKScene(size: CGSize(width: 1280.0, height: 720.0))
let videoNode = SKVideoNode(avPlayer: videoPlayer)
videoNode.position = CGPoint(x: videoScene.size.width / 2, y: videoScene.size.height / 2)
videoNode.size = videoScene.size
videoNode.yScale = -1
videoScene.addChild(videoNode)
guard let video = container.childNode(withName: "BDVideo", recursively: false) else { return }
video.geometry?.firstMaterial?.diffuse.contents = videoScene
}
}
此错误发生在第一行:“ com.apple.scenekit.scnview-renderer(15):致命错误:在展开一个可选值时意外发现nil”。帮助将不胜感激,谢谢!这也是该项目的github链接:https://github.com/SimonDwyer420/Movie-Image-Tracking
已下载并尝试运行您的项目-问题出在
let videoURL = Bundle.main.url(forResource: "BDVideo", withExtension: "mp4")!
行。 BDVideo.mp4
本身不在GitHub存储库中,因此我假设您向其添加了一个[[link到项目导航器,但是实际的视频文件位于其他位置。尝试删除视频,将其复制到项目文件夹,然后将其拖动到xCode导航器。