我需要一些关于Android上MediaRecorder
课程的帮助。
我尝试使用getSupportedVideoSizes
获取支持的视频大小列表,但它始终返回null。
在测试中,当查询null
时,以下设备返回getSupportedVideoSizes
:
答案 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));
自动设置最佳分辨率。