2

これには多くの質問があることがわかりましたが、方法が見つかりませんでした。私のアプリには、いくつかのオプションを備えた独自のカメラがあり、btnFlashカメラの実行中にカメラのフラッシュライトをオン/オフするためのボタンもあります。私は多くの方法を試しましたが、Samsung タブと HTC のように機能するものはありませんでした。ここにそれらの1つがあります

ImageButton btnFlash = (ImageButton) findViewById(R.id.btn_flash);
        btnFlash.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                Context context = getApplicationContext();
                if( context .getPackageManager().hasSystemFeature(getPackageManager().FEATURE_CAMERA_FLASH)) {
                    Parameters params = mCamera.getParameters();
                    if(isFlashOn) {
                        params.setFlashMode(Parameters.FLASH_MODE_OFF);
                        mCamera.setParameters(params);
                        isFlashOn = false;
                    } else {
                        params.setFlashMode(Parameters.FLASH_MODE_ON);
                        mCamera.setParameters(params);
                        isFlashOn = true;
                    }
                }
            }
        });
  1. 誰かが良いチュートリアルやコードを提案できますか?
  2. 同じコードは、たとえば HTC では機能しますが、samsung では機能しませんか? つまり、あらゆるタイプの Android デバイス用のコードを記述できますか?

前もって感謝します..

4

2 に答える 2

2

このリンクをたどってください。これにより、ほぼすべてのデバイスでフラッシュ機能を実現できます。

この SVN プロジェクトをインポートします。

http://code.google.com/p/torch/source/checkout

于 2013-01-21T16:29:15.013 に答える
0

私はあなたと同じ問題を抱えていたので、交換する必要があると思います

    params.setFlashMode(Parameters.FLASH_MODE_ON);

これとともに

    params.setFlashMode(Parameters.FLASH_MODE_TORCH);

パラメータをテストしました

    Parameters.FLASH_MODE_ON
    Parameters.FLASH_MODE_RED_EYE

同じ問題がありました。デバイスに適切なハードウェアパラメーターがないために問題が発生したと思います

于 2013-09-21T06:53:37.377 に答える