簡體   English   中英

需要知道Android中的LED閃光燈代碼

[英]Need to know LED flash light code in Android

我已經從diff資源中獲得了一些代碼,但是所有代碼都無法在我的手機上使用LED手電筒。我有LG Optimus。 但是,如果我從Play商店下載一些應用程序,則效果很好。 我的活動代碼是

攝影機camera = null; 參數參數;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         final Button FlashLightControl = (Button)findViewById(R.id.flashcontrol);
            FlashLightControl.setText("Set FLASH_MODE_TORCH");
            FlashLightControl.setOnClickListener(new Button.OnClickListener(){
                @Override
        public void onClick(View arg0) {
        if(camera == null){
        camera = Camera.open();
                parameters = camera.getParameters();
                     parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
        camera.setParameters(parameters);
        FlashLightControl.setText("Set FLASH_MODE_OFF");
                     }else{
               parameters = camera.getParameters();
                      parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                         camera.setParameters(parameters);
                         camera.release();
                         camera = null;
                         FlashLightControl.setText("Set FLASH_MODE_TORCH");
                        }
                }});

和清單:

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

<!-- Camera Permissions -->   

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

這是該站點上Java代碼的一部分,請在onCreate方法中調用getCamera,然后通過您的按鈕調用其余部分。

對於切換和播放方法,請檢查站點,但是它們主要用於圖形和UI,您可以選擇在初始階段忽略它們。

// getting camera parameters
 private void getCamera() {
if (camera == null) {
    try {
        camera = Camera.open();
        params = camera.getParameters();
    } catch (RuntimeException e) {
        Log.e("Camera Error. Failed to Open. Error: ", e.getMessage());
    }
}
}    

private void turnOnFlash() {
if (!isFlashOn) {
    if (camera == null || params == null) {
        return;
    }
    // play sound
    playSound();

    params = camera.getParameters();
    params.setFlashMode(Parameters.FLASH_MODE_TORCH);
    camera.setParameters(params);
    camera.startPreview();
    isFlashOn = true;

    // changing button/switch image
    toggleButtonImage();
} 
}
    /*
 * Turning Off flash
 */
private void turnOffFlash() {
if (isFlashOn) {
    if (camera == null || params == null) {
        return;
    }
    // play sound
    playSound();

    params = camera.getParameters();
    params.setFlashMode(Parameters.FLASH_MODE_OFF);
    camera.setParameters(params);
    camera.stopPreview();
    isFlashOn = false;

    // changing button/switch image
    toggleButtonImage();
}
}

而且您可以從http://www.androidhive.info/2013/04/android-developing-flashlight-application/上的任何其他內容的鏈接獲取幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM