跟踪JS对象跟踪器的眼睛

时间:2018-03-22 17:27:24

标签: javascript event-handling face-detection tracking.js

我正在使用Tracking JS帮助检测用户眼睛是否打开,然后只检测到少于3个物体,面部,嘴巴和一只眼睛的音频。我对它的信任和工作非常有说服力,但事件是过于频繁地跟踪和更新数据,导致非常不稳定和不和谐的体验。

目前,我让跟踪器不断跟踪跟踪器,如下所示:

  tracker.on('track', function(event) {

      if (event.data.length > 2 ) {
          document.body.classList.add("hide");
          pauseAudio();
      } else {
          document.body.classList.remove("hide");
          playAudio();
      }

有没有办法减少频繁运行此函数或指定每秒运行多少次?

1 个答案:

答案 0 :(得分:0)

您可以使用某种限制机制,lodash构建它。

_.throttle,获取功能&限制时间,并返回一个限制函数,因此您可以将其用作:

const handler = function(event) {

      if (event.data.length > 2 ) {
          document.body.classList.add("hide");
          pauseAudio();
      } else {
          document.body.classList.remove("hide");
          playAudio();
      }
};
const throttledHandler = _.throttle(handler, 100); // 100ms
tracker.on('track', throttledHandler);