How to get front and back camera's megapixel that is designed for android device?

后端 未结 1 840
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-20 00:26

How to identify front and back camera\'s Megapixel of an android device by using Android code? I had tried CameraInfo but am not getting megapixel. For example, To identify

相关标签:
1条回答
  • 2020-12-20 00:58

    I got megapixel by combining three different answers of stack overflow friends.

                    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();
    

    For obtaining megapixel, (Biggest Width x Height) / 1024000 = Megapixel

    0 讨论(0)
提交回复
热议问题