我有一个节点js模块,当我的安全摄像头检测到动作时会发出事件。即使相机的感光度设置设置为低,我仍然会在没有人的情况下获得动作事件(例如风吹过相机)。
eventEmitter告诉我何时有动作以及动作何时结束。我希望看到当动作超过3秒钟时我怎么能触发事件。
camera.on('alarm', function(code,action,index) {
if (code === 'VideoMotion' && action === 'Start')
//LOGIC: If action = start and for the next 3-5s action <> Stop
console.log('Video Motion Detected')
if (code === 'VideoMotion' && action === 'Stop')
//Reset Timer
console.log('Video Motion Ended')
});
答案 0 :(得分:0)
let running;
camera.on('alarm', function(code,action,index) {
if (code === 'VideoMotion' && action === 'Start') {
if(running) clearTimeout(running);
running = setTimeout(trigger, 3000);
}
if (code === 'VideoMotion' && action === 'Stop' && running)
clearTimeout(running);
});
function trigger(){
//...
}