我写了一个简单的例子来打开/关闭相机灯
我的代码在Android API 21中100%工作,但在HTC One Plus API 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 :(得分: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();
另外,请确保您在清单文件中拥有相机权限。