私は単純なaddEventListener
オーディオを作成します.40C以上の私の一時的な音が再生され、40C未満の場合は停止します。しかし、私が走ろうとすると、それは複数の時間を演じます。たとえば、12:12:12 my temp 41、12:12:13 my tempが50の場合、オーディオは2回再生されます。一度に1つのオーディオしか再生できないのですか?そして、一時的に40℃以下の時に私のオーディオを一時停止または停止する方法はありますか? 私は データが変更されたときに再生するオーディオを停止する
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
'terminated'ハンドラで' this.play(); 'を削除し、オーディオを一時停止したい場合は、一時的に再生する必要があるため、' temp <40' –