Запись видео получается не так просто.
Сначала вам нужно разблокировать ручку на объекте камеры, а затем установить камеру на рекордер.
mCameraDev.unlock();
mRecorder.setCamera(mCameraDev);
Примечание: вам нужно будет позвонить на setCamera
сразу после вызова unlock
и перед вызовом любого другого API рекордера, иначе вы получите исключение из недопустимого состояния.
Далее вам потребуется настроить поверхность предварительного просмотра с помощью рекордера. По сути, это действует как видеовход на записывающее устройство, т. Е. Любые видеоданные на поверхности предварительного просмотра, которые принимаются в качестве входных данных для видеозаписи.
mRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
Если вам нужна помощь по настройке предварительного просмотра на камере, проверьте эту ссылку .
Вместо индивидуальной настройки форматов используйте API-интерфейсы getProfile
и setProfile
на перекодировщике.
И последнее: разрешение видео, установленное для рекордера, должно быть синхронизировано с разрешением поверхности предварительного просмотра. Если поверхность предварительного просмотра VGA, убедитесь, что вы выполняете запись с разрешением VGA.