2017-01-11 7 views
0

Я добавил следующий код для реализации масштабирования камеры. В S2 getMaxZoom() возвращает ноль и работает на других устройствах. Камера устройства S2 также может масштабироваться.Пользовательская камера Android 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); 
    } 
+0

какие параметры.getZoomRatios() вернули вас? Список содержит поддерживаемые коэффициенты масштабирования. –

+0

parameters.getZoomRatios() возвращает 100 – user1767260

+0

S2 известен тем, что эти проблемы связаны с params.getMaxZoom() :-( –

ответ

0

Может быть случай, когда Api для увеличения может не поддерживаться на определенном устройстве.

Используйте params.isSmoothZoomSupported(), чтобы узнать, поддерживается ли его на устройстве, который работает, и вы можете написать свой код.

if(params.isSmoothZoomSupported()){ 

//zoom 

}else{ 

//handle if its not supported 

}