2016-11-14 3 views
0

Я хотел бы использовать разрешение камеры как спереди, так и сзади в своей деятельности, чтобы я мог различать изображение (взятое с задней или передней камеры, проверяя его разрешение).Как получить разрешение камеры на устройстве? (Android)

+0

Это может помочь вам http://stackoverflow.com/questions/19463858/how-to-get-front-and-back-cameras-megapixel-that-is-designed-for-android-device. – katmanco

+0

не помогает ........ потому что камера обесценивается. –

+0

Хорошо, но вместо них они не помещают ничего вместо камеры? Обычно, когда что-то обесценивается, оно заменяется новыми и более надежными вещами. – katmanco

ответ

0
  Camera camera=Camera.open(0); // For Back Camera 
     android.hardware.Camera.Parameters params = camera.getParameters(); 
     List sizes = params.getSupportedPictureSizes(); 
     Camera.Size result = null; 

     ArrayList<Integer> arrayListForWidth = new ArrayList<Integer>(); 
     ArrayList<Integer> arrayListForHeight = new ArrayList<Integer>(); 

     for (int i=0;i<sizes.size();i++){ 
      result = (Size) sizes.get(i); 
      arrayListForWidth.add(result.width); 
      arrayListForHeight.add(result.height); 
      Log.debug("PictureSize", "Supported Size: " + result.width + "height : " + result.height); 
      System.out.println("BACK PictureSize Supported Size: " + result.width + "height : " + result.height); 
     } 
     if(arrayListForWidth.size() != 0 && arrayListForHeight.size() != 0){ 
      System.out.println("Back max W :"+Collections.max(arrayListForWidth));    // Gives Maximum Width 
      System.out.println("Back max H :"+Collections.max(arrayListForHeight));     // Gives Maximum Height 
         System.out.println("Back Megapixel :"+(((Collections.max(arrayListForWidth)) * (Collections.max(arrayListForHeight)))/1024000)); 
     } 
     camera.release(); 

     arrayListForWidth.clear(); 
     arrayListForHeight.clear(); 

     camera=Camera.open(1);  // For Front Camera 
     android.hardware.Camera.Parameters params1 = camera.getParameters(); 
     List sizes1 = params1.getSupportedPictureSizes(); 
     Camera.Size result1 = null; 
     for (int i=0;i<sizes1.size();i++){ 
      result1 = (Size) sizes1.get(i); 
      arrayListForWidth.add(result1.width); 
      arrayListForHeight.add(result1.height); 
      Log.debug("PictureSize", "Supported Size: " + result1.width + "height : " + result1.height); 
      System.out.println("FRONT PictureSize Supported Size: " + result1.width + "height : " + result1.height); 
     } 
     if(arrayListForWidth.size() != 0 && arrayListForHeight.size() != 0){ 
      System.out.println("FRONT max W :"+Collections.max(arrayListForWidth)); 
      System.out.println("FRONT max H :"+Collections.max(arrayListForHeight)); 
         System.out.println("FRONT Megapixel :"+(((Collections.max(arrayListForWidth)) * (Collections.max(arrayListForHeight)))/1024000)); 
     } 

     camera.release(); 
+0

ya, но он показывает объект камеры как обесцененный, в результате чего «К сожалению активность перестала работать» –

+0

https://developer.android.com/reference/android/hardware/camera2/package-summary.html – MonkeyEdict

+0

, пожалуйста, взгляните на это – MonkeyEdict

Смежные вопросы