2016-06-30 44 views
3

我已經寫簡單的例子來開啓/關閉相機光關閉相機,光在Android的API 22

我的代碼在Android的API 21,但在HTC壹加API 22攝像頭指示燈的工作100%不轉在

我的代碼:

if (!isFlashOn) 
     { 
      if (camera == null || mParams == null) { 
       return; 
      } 
      _player.Start(); 
      mParams = camera.GetParameters(); 
      mParams.FlashMode = Parameters.FlashModeTorch; 
      camera.SetParameters(mParams); 
      camera.StartPreview(); 
      isFlashOn = true; 
      btnFlash.SetImageResource(Resource.Drawable.power_on); 

     } 
+0

嘗試檢查HTC中是否存在FlashModeTorch,可能需要根據設備對其進行更改 –

+0

確保您在運行時要求相機權限。 –

+0

謝謝你,我已經用Ashish Ranjan的解決方案:) – EddyLee

回答

1

這應該工作:

camera = Camera.open(); 
Camera.Parameters mParams = camera.getParameters(); 
mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); 
camera.setParameters(mParams); 
mPreviewTexture = new SurfaceTexture(0); 
try { 
    camera.setPreviewTexture(mPreviewTexture); 
} catch (IOException ex) { 
    // ioexception 
} 
camera.startPreview(); 

另外,還要確保你已經CAMER清單文件中的權限。

+0

謝謝,工作就像一個魅力! :) – EddyLee

+0

樂意幫忙!您可以將答案標記爲正確,以便其他人可以從答案中獲益。 –