有没有办法设置我想要的 LED 强度?我知道要打开 LED,我使用:
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mycam.setParameters(p);
但是这段代码只是打开 LED。但有没有办法给LED设置不同的强度以获得更强的光或降低光强度?
HTC 有一个支持此功能的替代 API,但它仅适用于 HTC Sense 设备,并且从 Gingerbread 开始,他们已经更改了权限,因此仅适用于他们的 Flashlight 应用程序,不适用于第三方应用程序(除非您使用 root)。
但在 2.2 HTC 设备上,您可以通过向
/sys/devices/platform/flashlight.0/leds/flashlight/brightness
写入字符串来使用它。这控制 LED 是否打开以及它的亮度。对于最大亮度写"128\n"
,半亮度写"64\n"
。易于从 adb shell 进行测试:
echo "128" > /sys/devices/platform/flashlight.0/leds/flashlight/brightness
最后通过写
"0\n"
将其关闭。
简短的回答是:不。
更长的答案 - 也许在某些使用 undocumenterd 调用/参数的设备上。
支持的闪光灯模式及其含义(和行为)因设备而异。
您最好的选择是查询支持的闪光灯模式,并希望它们按预期工作。
private native final void native_setParameters(String params);
相信你看完后就会知道这是否可行。
看
public
,好像不可能
每当我这样做时(当 LED 亮起时):
public void changeIntensity()
{
cam.stopPreview();
cam.startPreview();
}
LED 在 3 个强度级别之间旋转。这没有任何意义,但它有效。