Я пытаюсь записать геймплей игры Unity3d. Я создал MediaRecorder, который правильно записывает экран нормальных игр. Однако, когда дело доходит до Gear VR, видео получает только первый кадр, а затем остается. Звук по-прежнему записывается правильно.Recording Gear VR с Android MediaRecorder и Unity
Есть ли какая-то техническая разница в том, как VR отображается в игре Unity? Я думал, что это всего лишь комбинация из двух камер в единстве, но когда дело доходит до рендеринга на стороне более низкого уровня, ничего не изменится, насколько это касается Android.
Должно быть что-то другое с поверхностью, на которую делается рендеринг, но я не могу найти какую-либо документацию или что-нибудь, что поможет в моем поиске! Может кто-нибудь помочь мне здесь?
Код регистратора мультимедиа довольно стандартный. Я выделяю ключевые части здесь, если есть что-то конкретное для моих настроек ... но он работает с обычными 3D-сценами. На самом деле я просто смотрю руководство, почему механизм 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*/);
Заранее спасибо