使用Android MediaRecorder和Unity录制Gear VR

时间:2016-09-02 09:11:16

标签: android unity3d mediarecorder gear-vr

我正在尝试记录Unity3d游戏的游戏玩法。我已经设置了一个MediaRecorder,可以正确记录正常游戏的屏幕。然而,当谈到Gear VR时,视频只获得第一帧然后仍然是。音频仍能正确录制。

在Unity游戏中如何显示VR有一些技术差异吗?我认为它只是在Unity方面的两个摄像头的组合,但是当它在较低级别渲染时,就Android而言,没有什么会改变。

渲染表面必须有不同的东西,但我找不到任何文档或任何东西来帮助我的搜索!任何人都可以帮助我吗?

媒体录制器代码非常标准。我正在突出显示关键部分,以防我的设置有特定的东西...但它正在使用普通的3D场景。真的,我只是在寻找关于为什么Gear VR场景似乎没有记录以及我需要调查以帮助解决问题的指导

获取投影管理员:

mProjectionManager = (MediaProjectionManager) activityContext.getSystemService
                    (Context.MEDIA_PROJECTION_SERVICE);

创建意图:

startActivityForResult(mProjectionManager.createScreenCaptureIntent(), 1);

创建媒体录制器:

    mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

创建虚拟显示器:

mMediaProjection.createVirtualDisplay("ScreenRecord",
            mDisplayWidth, mDisplayHeight, mScreenDensity,
            DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
            mMediaRecorder.getSurface(), null /*Callbacks*/, null /*Handler*/);

提前致谢

1 个答案:

答案 0 :(得分:0)

我认为问题是三星设备。我发生了类似的事情,目前的解决方法是避免初始化AUDIO部分!只需启用视频,但不要设置音频源,并避免在清单文件中请求Mic。这可以使视频录制工作。我在Unity中尝试过这个设置但不是Gear VR。