【问题标题】:iOS Google VR SDK: Unable to preview VideoiOS Google VR SDK:无法预览视频
【发布时间】:2019-01-17 06:05:35
【问题描述】:

我正在尝试在 iOS 中探索 Google VR(Virtual Reality) SDK。

参考:https://github.com/googlevr/gvr-ios-sdk

所以他们在 Obj-C 中有示例,我已经在 Swift 中进行了转换。出现无法预览 VR 视频的问题(如图 SS1),出现黑屏 SS2。

SS1:预期

SS2:实际

我也尝试调试,发现

谷歌代码

 GVRRendererViewController *viewController = self.childViewControllers[0];
  GVRSceneRenderer *sceneRenderer = (GVRSceneRenderer *)viewController.rendererView.renderer;
  GVRVideoRenderer *videoRenderer = [sceneRenderer.renderList objectAtIndex:0];

我的代码

if let vc = self.children.first as? GVRRendererViewController {
                self.vrManager!.setupGVR(vc)
            }

func setupGVR(_ gvrRendererVC: GVRRendererViewController) {
        let sceneRenderer = gvrRendererVC.rendererView.renderer as! GVRSceneRenderer
        
        if sceneRenderer.renderList.count() > 0,
            let videoRenderer = sceneRenderer.renderList.object(at: 0) as? GVRVideoRenderer {
            videoRenderer.player = self.avPlayer
        }
    }

我在这里得到sceneRenderer.renderList 空。在他们的 SDK 中很好。 告诉我什么错误。

我的演示项目:https://github.com/Abhishek9634/VRDemo

【问题讨论】:

    标签: ios swift google-vr-sdk


    【解决方案1】:

    P.S:我不确定它是否正确,但目前工作正常

    func setupGVR(_ gvrRendererVC: GVRRendererViewController) {
    
        guard let sceneRenderer = gvrRendererVC.rendererView.renderer as? GVRSceneRenderer else {
            return
        }
    
        if sceneRenderer.renderList.isEmpty {
            let videoRenderer = GVRVideoRenderer()
            videoRenderer.player = self.avPlayer
            videoRenderer.setSphericalMeshOfRadius(50.0,
                                                   latitudes: 12,
                                                   longitudes: 24,
                                                   verticalFov: 180,
                                                   horizontalFov: 360,
                                                   meshType: .stereoTopBottom)
            sceneRenderer.renderList.add(videoRenderer)
        } else {
            if let videoRenderer = sceneRenderer.renderList.object(at: 0) as? GVRVideoRenderer {
                videoRenderer.player = self.avPlayer
            }
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2017-04-26
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多