【发布时间】:2017-08-11 14:27:43
【问题描述】:
我制作了手电筒安卓应用,并制作了搜索栏来改变闪烁的速度。但是速度的变化直到我按下中间的按钮打开和关闭闪光灯才反映,我github link attached below如何直接从seekbar改变速度
【问题讨论】:
我制作了手电筒安卓应用,并制作了搜索栏来改变闪烁的速度。但是速度的变化直到我按下中间的按钮打开和关闭闪光灯才反映,我github link attached below如何直接从seekbar改变速度
【问题讨论】:
StroboRunner 使用它自己的频率,而不是全局频率。所以,你需要重启线程。
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
freq = progress;
turnOnOff(powerButton.isChecked());
}
private void turnOnOff(boolean on) {
if (on) {
if (freq != 0) {
sr = new StroboRunner();
sr.freq = freq;
if (t != null) {
t.interrupt(); // this. kill previous thread.
}
t = new Thread(sr);
t.start();
return;
} else
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
}
if (!on) {
if (t != null) {
sr.stopRunning = true;
t.interrupt(); // this
t = null;
return;
} else
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
}
camera.setParameters(params);
camera.startPreview();
}
【讨论】: