2012年11月26日 星期一

Android程式設計 - 使用相機LED做為手電筒


Android手機都配備一個高亮度白光LED做為相機閃光燈,程式中可控制這個高亮度白光LED把手機當成手持照明設備。
方法是調用setFlashMode(Parameters.FLASH_MODE_TORCH)方法設定閃光燈模式,讓LED在相機進到預覽模式時就處於ON狀態。程式碼如下:
  import android.hardware.Camera;
  import android.hardware.Camera.Parameters;
  ...
  Camera camera = Camera.open();
  Parameters p = camera.getParameters();
  p.setFlashMode(Parameters.FLASH_MODE_TORCH);
  camera.setParameters(p);
  camera.startPreview();        //開啟LED
調用camera.stopPreview()方法結束預覽模式即可關閉LED。而在結束程式前應調用release()方法釋放相機資源。
注意!要操控相機的LED,應用程式之AndroidManifest.xml文件中必須宣告android.permission.CAMERA使用權限。