音频无法在移动设备上播放,但可以在桌面浏览器上播放

时间:2020-08-08 13:23:13

标签: javascript audio timer

我有一个定时器,当它是3秒时,假设要启动音频。该代码可在桌面浏览器上正常运行,但不能在移动设备上运行。音频如何在移动设备上工作? 是用户的热情

HTML

<div id="time"></div>
<button  onclick="startTimer(8);">START TIMER</button>
function startTimer(timeInSeconds, display) {

var audioExerciseEnd = new Audio('https://vardel.com/exe_end.mp3');
var currentAudio = new Audio();

    const countDownFrom = timeInSeconds; // seconds
    const countDownBy = 1; // seconds

    display = document.querySelector('#time');

    const timer = moment.duration(countDownFrom, 's');
    
    const intervalId = setInterval(() => {
      timer.subtract(countDownBy, "s");
    
      // timer.minutes() ... timer.seconds()
      // timer.milliseconds() to add milliseconds

      // moment.utc(timer.asMilliseconds()).format("mm:ss")
      // "mm:ss:SS" will include milliseconds
      
      display.textContent = moment.utc(timer.asMilliseconds()).format("mm:ss");
    
      if (timer.seconds() == 3) {
        currentAudio = audioExerciseEnd.cloneNode();
        currentAudio.play();
      }
    
      if (timer.asMilliseconds() == 0){
        clearInterval(intervalId);
        document.querySelector('#time').textContent = "";
        console.warn("Times up!");
      }
      
      if (timer.asMilliseconds() !== 0) return;

    }, countDownBy * 1000);
}

 window.onload = function () {
     startTimer(8);
};

这是jsfiddle:https://jsfiddle.net/mustafamsy/1bymtgsh/

0 个答案:

没有答案