2016-06-30 6 views
3

私は/私のコードは、Android API 21で100%の作業が、HTCワンプラスAPIで22カメラライトがオンしていないカメラの光ターンカメラライト22

をオフにしてオンに書き込み、簡単な例をしました

に私のコード:

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(); 

をまた、あなたはカマーをしたことを確認してくださいマニフェストファイルの権限

+0

ありがとう、魅力のように動作! :) – EddyLee

+0

お手伝いを喜んで!あなたは答えを正しいものとしてマークして、他の人が答えから恩恵を受けるようにすることができます。 –