播放通知声音时未捕获(承诺)DOMException

时间:2019-07-19 04:49:26

标签: jquery laravel

我正在处理项目上的通知,这些通知会在有新订单时通知用户。并每5秒更新一次队列计数。

embed

我尝试了此代码段,但仍会引发DOMException错误

<audio id="foobar" src="{{URL::to('/')}}/assets/notif_sounds/plucky.mp3" preload="auto" autoplay="false"> 

 <script>
     setInterval(function(){ 
        $.ajax({
          type:'POST',
          url:'{{URL::to('/')}}/get-count',
          success:function(data)
          {    
            $('#qCount').html(data);
            var sample = document.getElementById("foobar");
            sample.play();
           }
        });
     }, 5000);  
   </script>

有什么办法可以消除这个错误?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作,

<script>
     // Create Audio object.
     var audio = new Audio('{{URL::to('/')}}/assets/notif_sounds/plucky.mp3');

     setInterval(function(){ 
        $.ajax({
          type:'POST',
          url:'{{URL::to('/')}}/get-count',
          success:function(data)
          {    
            $('#qCount').html(data);
            var sample = document.getElementById("foobar");

            // Play whenever you want.
            audio.play();
           }
        });
     }, 5000);  
   </script>