Android MediaMuxer Присоединение поверхности к входу кодека

Хорошо, я рассмотрел пример Фаддена по внедрению Android MediaMux. Я не уверен, как получить мою сцену в поверхностный ввод для мультиплексированного кодека MP4. Я работаю над аудиопроцессором, который поглощает аудио и видео ввод-вывод, поэтому MediaRecord не работает, но MediaMux звучит как жизнеспособное решение.

Из кодека создайте входную поверхность:

videoInputSurface = codec.createInputSurface();

У меня уже есть реализованный openGLSurfaceView. Я могу получить поверхность из вида просто позвонив:

myGLSurface = myGLView.getHolder().getSurface();

но это не устанавливает поверхность. Это просто хватает его. Есть ли простой способ получить myGLSurface для записи в videoInputSurface.

Чтобы еще больше усложнить ситуацию, я добавляю cameraPreview в ту же группу просмотра, vg, myGLView записывается в:

vg.addView(mCameraPreview);

И myGLView установлен прозрачным, чтобы сцена openGL накладывалась поверх CameraPreview.

myGLView.getHolder().setFormat(PixelFormat.TRANSLUCENT);

Есть ли простой способ получить на поверхности элемента VG? Проще говоря, что записывается в кадр vg на videoInputSurface для кодека?

Спасибо,

1 ответ

Попробуйте посмотреть на это. В первом примере показано, как рисовать с помощью команд OpenGL ES на поверхности ввода кодека, чтобы записать его с помощью MediaMuxer в файл MP4.

Другие вопросы по тегам