0

我需要循环播放视频。视频结束时如何获得回调。我需要循环播放,直到用户跟踪该视频

private func addVideoNode(bundleFileName: String, forTrackableImage imageTrackable: ARImageTrackable?){
    // Initialise video node
    let videoNode = ARVideoNode(bundledFile: bundleFileName)
    // Add video node to image trackable
    imageTrackable?.world.addChild(videoNode)
    // Video scale
    let scale = Float(imageTrackable?.width ?? 0) / Float(videoNode?.videoTexture.width ?? 0)
    videoNode?.scale(byUniform: scale)
    videoNode?.visible = false
    videoNode?.play()
}
4

2 回答 2

1

在视频节点的 ARPlayableTexture 属性上注册为代表。

视频播放完毕后,代理会收到回调:https ://www.kudan.eu/docs-reference/iOSDocs/protocol_a_r_playable_texture_delegate_01-p.html 。

于 2017-07-25T09:54:19.613 回答
0

必须像这样在 videoNode 上设置委托。

    videoNode?.videoTextureMaterial.texture.delegate = self

然后

extension ARViewController: ARPlayableTextureDelegate{
    func playableTextureDidFinish(_ texture: ARPlayableTexture!) {
        videoNode?.play()
    }
}
于 2017-07-26T04:10:56.933 回答