在我的相机布局中,有2个用于调整缩放参数的按钮,一个用于增加,一个用于减少。在每个按钮上有一个OnClickListener。在增加/减小缩放值之前我使用Camera.Parameters.isZoomSupported()函数来检查,是设备支持缩放。在我的索尼Z1上它完美运行,但在我的其他设备(三星Galaxy S)上,功能返回true,但设备无法缩放。
我的代码:
public void onClick(View v) {
if (isZoomSupported()) {
Camera cam = application.getCamera();
if (cam != null) {
cam.stopPreview();
Parameters par = cam.getParameters();
int maxZoom = par.getMaxZoom();
int zoomValue = par.getZoom();
zoomErtek += 1;
if (zoomValue > maxZoom) {
zoomValue = maxZoom;
}
par.setZoom(zoomValue);
cam.setParameters(par);
cam.startPreview();
}
} else {
toastShortWithCancel(getString(R.string.zoom_not_supported));
}
}
我的小isZoomSupported()函数:
private boolean isZoomSupported() {
Camera cam = application.getCamera();
if (cam != null) {
Parameters par = cam.getParameters();
return par.isZoomSupported();
}
return false;
}
那么,我的变焦控制有什么问题?有什么错误吗?我的三星设备运行Android 2.3.5,因此我使用API 8进行编程