consitant interval timer(可运行的结果不够)

时间:2017-01-20 14:16:17

标签: timer camera runnable

我们希望编写一个非常准确和一致的计时器间隔(100毫秒),以便使用手机巡视灯生成周期性光照模式。

目前我们使用runnable函数,但这显示出很多偏差。

如果我们用光电二极管测量响应,我们会发现80到120毫秒之间的偏差!

此错误是由runnable函数还是执行Tourch函数的启用/禁用引起的。

1 个答案:

答案 0 :(得分:0)

下面你可以找到我们用来触发手机tourchlight的runnable。开/关周期应为100ms,但长度和开/关周期之间的变化是不一致的。这可能与相机服务有关吗?

private final Runnable mRunnable = new Runnable(){

    public void run() {
        if (mActive) {
            if (mSwap) {

                mSwap = false;
                mHander.postDelayed(mRunnable, 100);

                params = camera.getParameters();
                params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                camera.setParameters(params);

            } else {



                mSwap = true;
                mHander.postDelayed(mRunnable, 100);

                params = camera.getParameters();
                params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                camera.setParameters(params);
            }
        }
    }
};

如果您需要更多信息,请告知我们