嵌入音频

Embedding audio

我创建了一个番茄钟(计时器)。我想在每个 session 或休息结束后播放声音。

function countDownTimer() {

  timer = setInterval(function() {

    if (!pause) {

      if (sec == 0) {

        if (minutes !== 0)
          minutes--;

        if (minutes == 0 && hours !== 0) {

          display(hours, minutes, sec);
          hours--;
          minutes = 59;

        }

        display(hours, minutes, sec = 59);

      } else {

        sec--;
        display(hours, minutes, sec);

      }
    }

  }, 1000);

}


function display(hr, min, sec) {

  checkIfOver(hr,min,sec);
  if (hr < 10)
    hr = "0" + hr;
  if (min < 10)
    min = "0" + min;
  if (sec < 10)
    sec = "0" + sec;

  document.getElementById("clock").innerHTML = hr + ":" + min + ":" + sec;

}    

function checkIfOver(hr,min,sec){

    if ((hr == 0 && min == 0 & sec == 0) && session == true) {

    session = false;
    breaks = true;
    if (confirm("Session is over. Start Break??")) 
      setTime();
    else {
      clearInterval(timer);
      document.getElementById("start").disabled = false;
    }
  } else if ((hr == 0 && min == 0 & sec == 0) && breaks == true) {

    session = true;
    breaks = false;
    if (confirm("Break is over. Start Session??")) 
      setTime();
    else {
      clearInterval(timer);
      document.getElementById("start").disabled = false;
    }
  }
}

我尝试通过 html 嵌入音频 src 并通过 js 播放它。我也尝试过使用音频 object。还有其他方法吗??

完整代码在这里:http://codepen.io/jpninanjohn/pen/WwBWpO?editors=1010

转换为 mp3 格式并使用 HTML5 音频元素:

<audio src="success.mp3">
  Your browser does not support the audio element.
</audio>

另一种解决方案是不使用任何 html 元素直接创建音频对象:

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