正如标题所解释的那样,我正在使用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 ...
答案 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);