我在 stackoverflow 上进行了搜索,并使用了使用 Handler 和 postDelayed 消息的算法来打开和关闭灯。
算法运行完美....这是我所做的:
if(mActive)//control the runnable thread
{
if(mSwap)//toggler for strobe
{
//Turn Flash On
cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
mSwap = false;
mHandler.postDelayed(mRunnable, 1);
}
else
{
//Turn Flash Off
cam.stopPreview();
cam.release();
cam = null;
mSwap = true;
mHandler.postDelayed(mRunnable, 1);
}
}
但我无法增加切换以匹配市场上那些应用程序的频闪频率......
我可以使用任何其他逻辑(而不是排队消息)?使用计时器会产生更好的结果吗?
谢谢