【问题标题】:Cannot record on 1920x1080 using Android MediaRecorder on my Samsung Galaxy Note 2无法在我的三星 Galaxy Note 2 上使用 Android MediaRecorder 进行 1920x1080 录制
【发布时间】:2016-01-13 04:23:54
【问题描述】:

支持的视频尺寸列表使用 -

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();

--

0 - 960 x 720

1 - 1280 x 720

2 - 640 x 480

3 - 352 x 288

4 - 320 x 240

-- 如我们所见,该设备确实支持以“1920 x 1080”分辨率录制 但是,可以以除此特定分辨率之外的所有其他分辨率录制 MP4 视频。 三星的默认相机应用程序可以轻松地以这种分辨率进行录制。那为什么我不能这样做呢? 和预览大小有关吗?

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

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();

-- 调用 mediaRecorder.start() 给出错误 -19

【问题讨论】:

    标签: android mediarecorder


    【解决方案1】:

    解决了! 我用过-

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

    希望这对任何人都有帮助!

    【讨论】:

      猜你喜欢
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      相关资源
      最近更新 更多