我需要在Android上使用MediaRecorder
类并寻求帮助。
我试图使用getSupportedVideoSizes
来获取支持的视频尺寸列表,但总是返回null。
在测试中,以下设备查询getSupportedVideoSizes
时返回null
:
- Galaxy Nexus (Android 4.2)
- HTC One Mini (Android 4.4.2)
- HTCEVOV4G (Android 4.0.3)
我需要在Android上使用MediaRecorder
类并寻求帮助。
我试图使用getSupportedVideoSizes
来获取支持的视频尺寸列表,但总是返回null。
在测试中,以下设备查询getSupportedVideoSizes
时返回null
:
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();
}
}
mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));