记录装备VR与Android MediaRecorder和统一



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

VR在Unity游戏中的显示是否存在一些技术差异?我认为这只是Unity方面的2个摄像头的组合,但是当它涉及到在较低层次上渲染它时,就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*/);

Thanks in advance

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

相关内容

  • 没有找到相关文章

最新更新