2

Androidコードを使用してAndroidデバイスのフロントカメラとバックカメラのメガピクセルを識別する方法は? CameraInfo を試しましたが、メガピクセルを取得できません。たとえば、デバイスのモデルを識別するために、これを使用していandroid.os.Build.MODELます。同様に、前面カメラと背面カメラのメガピクセルを識別する方法。助けてくれてありがとう。

"Videocon A53"Android 4.1 Jelly Bean を搭載し、(540x960 ピクセル) ディスプレイが搭載されているデバイスの場合8-megapixel rear camera2-megapixel front-facing camera. 今私はそれを手に入れたい8 megapixel and 2 megapixel by android code

4

1 に答える 1

4

スタック オーバーフロー フレンドの 3 つの異なる回答を組み合わせて、メガピクセルを取得しました。

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

メガピクセルを取得するには、(Biggest Width x Height) / 1024000 = Megapixel

于 2013-10-19T09:10:56.023 に答える