在运行时我使用getSupportedPreviewSizes()并返回单个大小(320x240)。但是,当我初始化新相机时,它会将预览尺寸设置为显示尺寸(320x480),该尺寸未在返回的支持尺寸下列出。为什么是这样?您是否只是能够覆盖支持的预览大小,这是默认情况下完成的操作?或者这个模拟器是否相关? (我认为这是模拟器的事情。)
答案 0 :(得分:1)
如果你的预测大小是SurfaceView的大小,你可以在获得相机分辨率后按代码更改此代码:
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(cameraRes.x, cameraRes.y);
surfaceView.setLayoutParams(params);
如果您指的是相机预览尺寸,可以按以下方式进行设置:
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
camera.setParameters(parameters);