0

我正在尝试录制 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*/);

提前致谢

4

1 回答 1

0

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

于 2016-12-08T23:04:59.237 回答