SCNVideoNode播放速度极快

时间:2016-09-19 11:28:03

标签: ios swift avfoundation scenekit vuforia

我试图使用Vuforia在增强现实中展示视频 - 但是为了这个问题,只显示场景和视频就可以了。

期望的是什么: 以正确的视频和音频速度显示视频(播放)并使它们同步。

发生了什么: 音频以正确的速度播放。视频播放速度非常快 - 比如10倍。

尝试:

  • 我尝试过更改费率 - 它被完全忽略了。
  • 我尝试过不同的方法(AVPlayer,AVPlayerLayer, SKVideoNode(withURL))将视频放入场景 - 全部 患有多动视频综合征
  • 我尝试过其他文件格式 - 不过
  • 我尝试过本地文件和网址 - 没有骰子
  • 我试过把笔记本电脑扔到墙上 - 这让视频消失了

使用视频返回场景的代码:

private func createVideoScene(with view: VuforiaEAGLView) -> SCNScene {
        // create the asset & player and grab the dimensions
        let asset = AVAsset(URL: NSURL(string: "https://inm-baobab-prod-eu-west-1.s3.amazonaws.com/public/inm/media/video/2016/09/02/61537094SansSouciGirlsSchool.mp4")!)
        let size = asset.tracksWithMediaType(AVMediaTypeVideo)[0].naturalSize
        let player = AVPlayer(playerItem: AVPlayerItem(asset: asset))

        let videoNode = SKVideoNode(AVPlayer: player)
        videoNode.size = size
        videoNode.position = CGPoint(x: size.width * 0.5, y: size.height * 0.5)

        let videoScene = SKScene(size: size)
        videoScene.addChild(videoNode)

        let videoWrapperNode = SCNNode(geometry: SCNPlane(width: 10, height: 8))
        videoWrapperNode.position = SCNVector3(x: 0, y: 0, z: 0)
        videoWrapperNode.geometry?.firstMaterial?.diffuse.contents =  videoScene
        videoWrapperNode.geometry?.firstMaterial?.doubleSided = true
        videoWrapperNode.scale.y = -1
        videoWrapperNode.name = "video"

        let scene = SCNScene()
        scene.rootNode.addChildNode(videoWrapperNode)
        return scene
    }

谢谢

PS。也欢迎Objective-C的帮助:)

0 个答案:

没有答案
相关问题