В моем случае причина этого состояла в том, что я остановил предварительный просмотр камеры, изменил разрешение предварительного просмотра, а затем перезапустил предварительный просмотр во время записи.Примерно так, если бы вы сжимали все вызовы метода:
camera.startPreview();
camera.unlock();
recorder = new MediaRecorder();
recorder.setCamera(camera);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setVideoFrameRate(24);
recorder.setVideoEncodingBitRate(3000000);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recorder.setOutputFile(output.getAbsolutePath());
recorder.setPreviewDisplay(holder.getSurface());
recorder.prepare();
recorder.start();
camera.stopPreview();
Camera.Parameters cameraParameters = camera.getParameters();
cameraParameters.setPreviewSize(x, y);
camera.setParameters(cameraParameters);
camera.startPreview();
recorder.stop();
recorder.reset();
recorder.release();
recorder = null;
camera.lock();
camera.stopPreview();
На самом деле причина, по которой размер предварительного просмотра был изменен после начала записи, сложна и зависит от конкретной области, поэтому я сохранюподробности.Однако смысл тот же: вы не можете изменить размер предварительного просмотра, не останавливая его, но вы не можете остановить предварительный просмотр после запуска устройства записи на носитель.Я уверен, что есть другие вещи, которые могут вызвать это, как любое другое количество параметров камеры.
Обязательно убедитесь, что камера не потревожена во время записи видео.