Android getSupportedVideoSizes始终返回null

时间:2013-01-10 17:17:38

标签: android mediarecorder android-mediarecorder

我需要一些关于Android上MediaRecorder课程的帮助。

我尝试使用getSupportedVideoSizes获取支持的视频大小列表,但它始终返回null。

在测试中,当查询null时,以下设备返回getSupportedVideoSizes

  • Galaxy Nexus(Android 4.2)
  • HTC One Mini(Android 4.4.2)
  • HTCEVOV4G(Android 4.0.3)

2 个答案:

答案 0 :(得分:36)

The documentation for Camera.getSupportedVideoSizes()读取,

  

<强>返回
  如果摄像机具有单独的预览和视频输出,则为Size对象列表;否则,返回null。

并不完全清楚。但是,这意味着如果Camera.getSupportedVideoSizes()返回null,则相机支持的预览尺寸和视频尺寸相同;在这种情况下,要获取支持的视频尺寸列表,请使用Camera.getSupportedPreviewSizes()

示例代码:

public List<Size> getSupportedVideoSizes(Camera camera) {
    if (camera.getParameters().getSupportedVideoSizes() != null) {
        return camera.getParameters().getSupportedVideoSizes();
    } else {
        // Video sizes may be null, which indicates that all the supported 
        // preview sizes are supported for video recording.
        return camera.getParameters().getSupportedPreviewSizes();
    }
}

答案 1 :(得分:0)

或者只是使用

mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));

自动设置最佳分辨率。