developer.android.com/reference/android/view/...
исываю видео с помощью MediaRecorder. Когда используется задняя камера, она работает нормально, но при использовании фронтальной камеры отснятое видео переворачивается / переворачивается. Это означает, что элемент справа появится слева. Предварительный просмотр камеры работает нормально. Окончательно снятое видео перевернуло.
Вот предварительный просмотр камеры выглядит
Но финальное видео выглядит так(все элементы в левой части отображаются справа)
Что я пробовал до сих пор:
Я пытался применитьmatrix
когда готовлю рекордер, но, похоже, что-то меняет.
private boolean prepareRecorder(int cameraId){
//# Create a new instance of MediaRecorder
mRecorder = new MediaRecorder();
setCameraDisplayOrientation(this,cameraId,mCamera);
int angle = getVideoOrientationAngle(this,cameraId);
mRecorder.setOrientationHint(angle);
if(cameraId == Camera.CameraInfo.CAMERA_FACING_FRONT){
Matrix matrix = new Matrix();
matrix.preScale(1.0f,-1.0f);
}
//all other code to prepare recorder here
}
Я уже прочитал весь этот вопрос ниже, но все это, кажется, не решило мою проблему. Для информации, я используюSurfaceView
для предварительного просмотра камеры, так что этот вопрос здесь не помогает.
1)Android перевернуло фронтальное зеркало камеры, перевернуло видео
2)Как удержать андроид от инвертирования изображения с фронтальной камеры?
3)Предотвращение переворачивания фронтальной камеры
Итак, мой вопрос:
1) Как захватить видео с фронтальной камеры, если оно не является обратным (точно так же, как при предварительном просмотре камеры)?
2) Как этого добиться, когда используется предварительный просмотр камерыSurfaceView
но нетTextureView
? (вызвать все вопросы, которые я упоминал выше, расскажите об использованииTextureView
)
Все возможные решения в основном приветствуются.
РЕДАКТИРОВАТЬ
Я сделал 2 коротких видео ролика, чтобы прояснить проблему, пожалуйста, скачайте и посмотрите