2014-01-14 36 views
0

我有下面的代碼,但我不確定如何讓聲音停止播放10分鐘後上午5點。(Javascript音頻開始/每天特定時間停止)音頻開始於上午5點,結束10分鐘後

所以點擊5點,音頻開始播放正常,我不知道如何使音頻停止,一旦它命中5am,然後第二天它會重複週期。

<script type="text/javascript"> 

var audio = new Audio('audio.mp3'); 

function updateTime(){ 
    var currentTime = new Date(); 
    var hours = currentTime.getHours(); 
    var minutes = currentTime.getMinutes(); 

    if (hours == 5 && minutes == 0) { 
    audio.play(); 

    setTimeout(function() { audio.pause(); }, 8.28e+7); 
} 
} 
setInterval(updateTime, 1000); 

</script> 

幫助Please and thanks。 :)

回答

1

8.28e+71380分鐘...這幾乎是一整天 - 而不是10分鐘!

試試這個:

setTimeout(function() { audio.pause(); }, 600000); 

你還應該注意的是,因爲你的間隔運行每1秒,你的setTimeout函數將被調用高達59倍。我會建議使用isPlaying標誌。

例如:

var audio = new Audio('audio.mp3'); 
var isPlaying = false; 

function updateTime(){ 
    var currentTime = new Date(); 
    var hours = currentTime.getHours(); 
    var minutes = currentTime.getMinutes(); 

    if (!isPlaying && hours == 5 && minutes == 0) { 
     audio.play(); 
     isPlaying = true; 
     setTimeout(function() { audio.pause(); isPlaying = false; }, 600000); 
    } 
} 
setInterval(updateTime, 1000); 
相關問題