【发布时间】:2011-01-07 21:19:24
【问题描述】:
在运行时,我使用 getSupportedPreviewSizes() 并返回单个大小 (320x240)。但是,当我初始化新相机时,它将预览尺寸设置为显示器的尺寸 (320x480),该尺寸未在返回的支持尺寸下列出。为什么是这样?您是否只是能够覆盖支持的预览尺寸,而这就是默认情况下所做的?还是这个模拟器相关? (我认为这是一个模拟器)。
【问题讨论】:
在运行时,我使用 getSupportedPreviewSizes() 并返回单个大小 (320x240)。但是,当我初始化新相机时,它将预览尺寸设置为显示器的尺寸 (320x480),该尺寸未在返回的支持尺寸下列出。为什么是这样?您是否只是能够覆盖支持的预览尺寸,而这就是默认情况下所做的?还是这个模拟器相关? (我认为这是一个模拟器)。
【问题讨论】:
如果你说的 PreviewSize 是 SurfaceView 的大小,你可以在得到你的相机分辨率后通过代码来改变它,如下所示:
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(cameraRes.x, cameraRes.y);
surfaceView.setLayoutParams(params);
如果你指的是Camera预览大小,可以如下设置:
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
camera.setParameters(parameters);
【讨论】: