在我的Samsung Galaxy Note 2上无法使用Android MediaRecorder在1920x1080上录制

时间:2016-01-13 04:23:54

标签: android mediarecorder

使用 -

支持的视频大小列表
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视频。 三星的默认相机应用程序可以轻松记录此分辨率。那么为什么我不能那样做呢? 它与预览尺寸有关吗?

这是我用来配置MediaRecorder的代码 -

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

1 个答案:

答案 0 :(得分:0)

解决! 我用过 -

CamcorderProfile cpHigh = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
mediaRecorder.setProfile(cpHigh);

希望这有助于任何人!