В моем случае причина этого в том, что я остановил предварительный просмотр камеры, изменил разрешение предварительного просмотра, а затем перезапустил предварительный просмотр во время записи.Что-то, что будет выглядеть следующим образом, если вы уплотняетесь все вызовы методов:
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();
В действительности, причина, по которой размер превью изменяется после записи началась сложное и проблемно-зависимое, поэтому я сохранить детали. Тем не менее, точка одна и та же: вы не можете изменить размер предварительного просмотра, не останавливая его, но вы не можете остановить предварительный просмотр после запуска медиамагнитофона. Я уверен, что есть другие вещи, которые могут вызвать это, как и любое другое количество параметров камеры.
Вы должны обязательно убедиться, что камера не нарушена во время записи видео.
Вы могли бы предоставить код Вашей деятельности "Видеозахват"? особенно, когда метод stop() получил вызов – HitOdessit
Дополнительная информация по этому вопросу? Здесь есть одна и та же проблема. – aaronsnoswell
Просьба указать код. –