Javascript - задержка воспроизведения звука - PullRequest
0 голосов
/ 27 апреля 2019

Я играю аудио, когда всплывающая подсказка видна, и скрипт работает нормально, но я не могу найти способ задержки 2 секунды воспроизведения ...

$("#notify")[0].play(); 2000 

Что может быть не так?

Заранее спасибо!

if (total > 999 && total < 2999) {
  $('#regalo').show();

  if (localStorage.getItem('suppress_gift_tooltip_1') == null) {
    $('.tooltip').show();
    window.setTimeout(function() {
      $('.tooltip').fadeOut('slow');
    }, 6000);

    if (!$("#notify")[0].paused) { //audio
      $("#notify")[0].pause(); //audio
      $("#notify")[0].currentTime = 0; //audio
    } else { //audio
      setTimeout(function() { //audio
        $("#notify")[0].play();
         //audio   
      }, 2000)
    }; //audio

    localStorage.setItem('suppress_gift_tooltip_1', 'true')
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<audio id="notify">
      <source src="audio/notify.ogg" type="audio/ogg">
      <source src="audio/notify.mp3" type="audio/mpeg">
    </audio>

1 Ответ

2 голосов
/ 27 апреля 2019

Используйте javascript setTimeout, чтобы сделать эту работу. Вы неправильно размещаете 2000. Поместите его после квадратных скобок (с запятой).

 <script type="text/javascript">
    setTimeout(function(){
      document.getElementById("notify").play(); /* or $("#notify").play() in jquery*/
      //console.log('two second delay!');
    }, 2000)
  </script>
...