Android Custom Camera getMaxZoom()在S2中返回零

Android Custom Camera getMaxZoom()在S2中返回零,android,android-camera,zooming,Android,Android Camera,Zooming,我添加了以下代码来实现相机的放大。在S2中,getMaxZoom()返回零并在其他设备中工作。S2设备摄像机也能变焦 private void handleZoom(MotionEvent event, Camera.Parameters params) { int maxZoom = params.getMaxZoom(); int zoom = params.getZoom(); Log.d(LOG_TAG, "maxZoom "+maxZoo

我添加了以下代码来实现相机的放大。在S2中,getMaxZoom()返回零并在其他设备中工作。S2设备摄像机也能变焦

private void handleZoom(MotionEvent event, Camera.Parameters params) {
        int maxZoom = params.getMaxZoom();
        int zoom = params.getZoom();
        Log.d(LOG_TAG, "maxZoom "+maxZoom);
        Log.d(LOG_TAG, "zoom "+zoom);
        float newDist = getFingerSpacing(event);
        if (newDist > mDist) {
            Log.d(LOG_TAG, "handleZoom 1");
            // zoom in
            if (zoom < maxZoom)
                zoom++;
        } else if (newDist < mDist) {
            Log.d(LOG_TAG, "handleZoom 2");
            // zoom out
            if (zoom > 0)
                zoom--;
        }
        mDist = newDist;
        params.setZoom(zoom);
        Log.d(LOG_TAG, "handleZoom 3 "+zoom);
        mCamera.setParameters(params);
    }
private void handleZoom(MotionEvent事件,Camera.Parameters参数){
int maxZoom=params.getMaxZoom();
int zoom=params.getZoom();
Log.d(Log_标签,“maxZoom”+maxZoom);
Log.d(日志标签,“缩放”+缩放);
float newDist=getFingerSpacing(事件);
如果(newDist>mDist){
Log.d(Log_标签,“handleZoom 1”);
//放大
如果(缩放<最大缩放)
zoom++;
}else if(newDist0)
缩放--;
}
mDist=newDist;
参数设置缩放(缩放);
Log.d(Log_标签,“handleZoom 3”+缩放);
mCamera.setParameters(参数);
}

在某些情况下,特定设备可能不支持缩放Api

使用
params.isSmoothZoomSupported()
查看其运行的设备是否支持它,您可以编写相关代码

if(params.isSmoothZoomSupported()){

//zoom

}else{

//handle if its not supported

}

parameters.getZoomRatios()返回什么?该列表包含支持的缩放比率。参数。getZoomRatios()返回100S2已知存在与参数相关的这些问题。getMaxZoom()-(