У меня есть функция в приложении, предназначенная для записи определенной длины видео с помощью фронтальной камеры.Android - Записанное видео разориентировано
Запись в порядке, однако неправильная ориентация. Я искал много времени, но многие вопросы этого упоминаются только на картинке
части, которая, связанную с камерой и MediaRecorder представлены ниже
public void onCreate(Bundle savedInstanceState) {
// Some of the codes are not shown
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
recorder = new MediaRecorder();
holder = cameraView.getHolder();
}
private void initRecorder() {
recorder.setCamera(camera);
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
CamcorderProfile cpLow = CamcorderProfile.get(1,
CamcorderProfile.QUALITY_LOW);
recorder.setProfile(cpLow);
mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
mFileName += "/youraudiofile.mp4";
recorder.setOutputFile(mFileName);
recorder.setMaxDuration(50000);
recorder.setMaxFileSize(5000000);
}
private void prepareRecorder() {
recorder.setPreviewDisplay(holder.getSurface());
try {
recorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
finish();
} catch (IOException e) {
e.printStackTrace();
finish();
}
}
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open(findFrontFacingCamera());
camera.unlock();
initRecorder();
prepareRecorder();
}
Вышеуказанные коды работают, и во время записи я могу получить экран, как этот record http://img201.imageshack.us/img201/5264/3soh.jpg
Вместо этого, полученное видео будет отображаться как этот result http://img690.imageshack.us/img690/6783/wy29.jpg
Как correc Это?