Я пытаюсь добавить возможность записи видео в свое приложение, используя MediaRecorder в Android, но получающееся видео выглядит поврежденным с зелеными линиями (звук в порядке). Следующий код используется для инициализации объекта MediaRecorder:
mMediaRecorder = new MediaRecorder();
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setOutputFile(Utility.CAPTURE_VIDEO_FILENAME);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
mMediaRecorder.setMaxDuration(60000);
mMediaRecorder.setVideoFrameRate(20);
mMediaRecorder.setMaxFileSize(5000000);
mMediaRecorder.setVideoSize(352, 288);
mMediaRecorder.setPreviewDisplay(mPreview.mHolder.getSurface());
mMediaRecorder.prepare();
mMediaRecorder.start();
Я уже посмотрел на предложения здесь и здесь , но, похоже, они не помогают моему делу. Однако я думаю, что это может быть связано с неправильным размером видео. Поэтому мой вопрос заключается в следующем: есть ли хороший способ получить совместимые размеры видео при использовании API уровня 7? Насколько я могу судить, я могу использовать CamcorderProfile, если я нахожусь на уровне API 8, но ничего на 7 уровне.