使用 -
支持的视频大小列表append
-
camera.getParameters().getSupportedVideoSizes()
- 使用 -
支持的预览尺寸列表0 - 1280 x 720
1 - 1920 x 1080
2 - 960 x 720
3 - 720 x 480
4 - 640 x 480
5 - 352 x 288
6 - 320 x 240
7 - 177 x 144
-
camera.getParameters().getSupportedPreviewSizes();
- 我们可以看到该设备确实支持分辨率为“1920 x 1080”的录制 但是,除了这个特定的分辨率之外,可以在所有其他分辨率下录制MP4视频。 三星的默认相机应用程序可以轻松记录此分辨率。那么为什么我不能那样做呢? 它与预览尺寸有关吗?
0 - 960 x 720
1 - 1280 x 720
2 - 640 x 480
3 - 352 x 288
4 - 320 x 240
-
调用camera = android.hardware.Camera.open();
parameters = camera.getParameters();
parameters.setPreviewSize(1280, 720);
camera.setParameters(parameters);
camera.startPreview();
camera.unlock();
mediaRecorder.setCamera(camera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mediaRecorder.setVideoSize(1920, 1080);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mediaRecorder.setOutputFile("/storage/emulated/temp/test.mp4");
mediaRecorder.setPreviewDisplay(holder.getSurface());
mediaRecorder.prepare();
会出现错误-19
答案 0 :(得分:0)
解决! 我用过 -
CamcorderProfile cpHigh = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
mediaRecorder.setProfile(cpHigh);
希望这有助于任何人!