Я пытаюсь добавить возможность записи видео в свое приложение с помощью 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.