1

Android端末でカメラとLEDを一緒に点灯させてみました。このサンプルの使用: http://developer.android.com/guide/topics/media/camera.html

この私のコード:

mCamera = getCameraInstance();
    // Create our Preview view and set it as the content of our activity.
    mPreview = new CameraPreview(this, mCamera);
    FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
    preview.addView(mPreview);

    params = mCamera.getParameters();
    params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
    mCamera.setParameters(params);
    mCamera.startPreview();

しかし、LED をオンにすると、1 秒間動作してからオフになります。

4

2 に答える 2

0

コメントアウトしたら//mCamera.startPreview();?あなたの懐中電灯は働き続けることができますか?これは、懐中電灯をデバイスで動作させ続けるために実装したコードです。懐中電灯がデバイスで正常に動作するかどうかを確認できます。

<uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

public class MainActivity extends Activity {
    private Button mSwitchButton = null;
    private Camera mCamera;
    private Camera.Parameters mParameters;
    private boolean mbTorchEnabled = false;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mSwitchButton = new Button(this);
        mSwitchButton.setText("switch");
        mSwitchButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                mParameters = mCamera.getParameters();

                List flashModes = mParameters.getSupportedFlashModes ();

                if(flashModes != null && flashModes.contains(Camera.Parameters.FLASH_MODE_TORCH)){
                    if(mbTorchEnabled){
                        //Set the flash parameter to off
                        mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                    }
                    else{
                        //Set the flash parameter to use the torch
                        mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                    }

                    //Commit the camera parameters
                    mCamera.setParameters(mParameters);

                    mbTorchEnabled = !mbTorchEnabled;
                }
            }
        });

        setContentView(mSwitchButton);
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        mCamera = Camera.open();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        mCamera.release();
    }
}
于 2013-09-10T13:24:14.677 に答える