gpt4 book ai didi

ios - 如何在 Swift 中使用 Arkit 在图像上播放托管视频?

转载 作者:行者123 更新时间:2023-11-28 05:50:02 29 4
gpt4 key购买 nike

当视频存储在本地时,我可以毫无问题地播放视频,但现在我想播放托管在我的 google 驱动器上的视频。

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

let configuration = ARImageTrackingConfiguration()

if let trackedImages = ARReferenceImage.referenceImages(inGroupNamed: "TestImages", bundle: Bundle.main){
configuration.trackingImages = trackedImages

configuration.maximumNumberOfTrackedImages = 1
}

// Run the view's session
ARView.session.run(configuration)
}

这是我将视频渲染到图像上的功能:

func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {

let node = SCNNode()

if let imageAnchor = anchor as? ARImageAnchor{

let videoNode = SKVideoNode(fileNamed: "Test.mp4")

videoNode.play()

let videoScene = SKScene(size: CGSize(width: 1080, height:720 ))

videoScene.addChild(videoNode)

let plane = SCNPlane(width: imageAnchor.referenceImage.physicalSize.width, height: imageAnchor.referenceImage.physicalSize.height)

videoNode.position = CGPoint(x: videoScene.size.width/2, y: videoScene.size.height/2)

videoNode.yScale = -1.0

plane.firstMaterial?.diffuse.contents = videoScene

let planeNode = SCNNode(geometry: plane)

planeNode.eulerAngles.x = -.pi/2

node.addChildNode(planeNode)


}

return node
}

我是 ARKIT 的新手,所以我只学习基本功能并享受使用它们的乐趣。

最佳答案

您的代码看起来不错。您唯一需要更改的是定义 videoNode

的行

示例:

let videoNode = SKVideoNode(url: URL(fileURLWithPath: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"))

希望这对您有所帮助!

关于ios - 如何在 Swift 中使用 Arkit 在图像上播放托管视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53269669/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com