Android setPreviewSize,如何检测320x480和480x320是否都支持?

时间:2016-05-23 03:27:21

标签: android camera

正如标题所解释的那样,我正在使用setPreviewSize来设置摄像机参数。但Android文档说:

  

例如,假设相机支持480x320和320x480预览尺寸。

所以,我想使用 getSupportedPreviewSizes 来检测相机是否同时支持预览尺寸。结果只有480x320,但也支持320x480(我在多部手机上测试过)。我认为应该有一些功能或字段可用于检测结果,我搜索谷歌,但没有找到。

任何人都知道答案吗?请帮我。谢谢。

我的清单:

<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>

和getSupportedPreviewSizes的结果:

320x240, 352x288, 480x320, 640x480, 720x480 ...

1 个答案:

答案 0 :(得分:0)

使用StreamConfigurationMap检查输出PreviewSizes,以获得相机表面支持的尺寸:

StreamConfigurationMap map = cameraCharacteristics.get(
            CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);

    Size previewSizes = new Size[];
    Size videoSizes = new Size[];

    previewSizes = map.getOutputSizes(SurfaceTexture.class);
    videoSizes = map.getOutputSizes(MediaRecorder.class);