我创建简单的addEventListener
音频,想法是如果我的临时温度超过40℃,声音会播放,如果低于40℃,它会停止播放。但是,当我尝试运行时,它会玩多次。例如,如果12:12:12我的temp 41和12:12:13我的temp是50,它会播放音频两次。我怎样才能在一次播放一个音频?当温度低于40摄氏度时,如何暂停或停止音频停止? 我结合本addEventListener
与火力数据库 当数据改变时停止播放音频
window.addEventListener('load', function() {
firebase.database().ref('sensor').limitToLast(1).on('child_added', function(data) {
var sensor = data.val();
console.log("suhu gauge is :"+sensor.temp)
if (sensor.temp > 40) {
myAudio = new Audio('audio/alarm.mp3');
myAudio.addEventListener('ended', function() {
this.currentTime = 0;
this.play();
}, false);
myAudio.play()
}
else if (sensor.temp < 40){
myAudio = new Audio('audio/alarm.mp3');
myAudio.addEventListener('ended', function() {
this.currentTime = 0;
this.pause();
}, false);
}
mydata.setValue(0, 1, sensor.temp);
chart.draw(mydata, myoptions);
console.log(sensor.temp);
});
});
你的意思是摄氏度与“C”? – Luca
为什么你在'ended'事件处理程序中再次调用'.play()'? – guest271314
您在'terminate'处理程序中删除'this.play();'如果您想暂停音频,则使用'.pause();'event'if temp <40' –