搜尋

首頁  >  問答  >  主體

無需點擊文檔,如何在滑鼠進入事件上自動播放聲音?

<p>我有以下HTML程式碼:</p> <pre class="brush:php;toolbar:false;"><div id="word">word</div> <audio id="player"> <source id="source" src"sound.ogg" type="audio/ogg" /> </audio></pre> <p>以及以下JavaScript/jQuery程式碼:</p> <pre class="brush:php;toolbar:false;">$('#word').mouseenter(function() { var audio = $("#player")[0]; audio.load(); audio.play(); });</pre> <p>在我的瀏覽器上,這段程式碼只有在我<strong>點擊</strong>文件後才能運作。否則,它不起作用,並且在JavaScript控制台中會出現以下錯誤:</p> <blockquote> <p>未捕獲(承諾中)DOMException:不允許播放方法 當前上下文中的用戶代理或平台,可能 因為使用者拒絕了權限。 </p> </blockquote> <p>以及以下警告:</p> <blockquote> <p>只有當使用者接受時才允許自動播放, 用戶已與網站互動或媒體檔案已設定音量 歸零。 </p> </blockquote> <p>如果我將音量設為零,我會得到以下錯誤:</p> <blockquote> <p>未捕獲(承諾中)DOMException:媒體的獲取過程 用戶代理根據用戶的請求中止了資源。 </p> </blockquote> <p>我在Chrome和Firefox上都嘗試過。 </p>
P粉744831602P粉744831602458 天前686

全部回覆(1)我來回復

  • P粉635509719

    P粉6355097192023-09-02 15:24:30

    <div id="word" style="font-size: 30px; margin-bottom: 200px; ">word</div>
        
    <audio id="player" controls preload="auto">
         <source src="audio/beep.mp3" controls></source>
         <source src="audio/beep.ogg" controls></source> 
    </audio>
     
    <script>
        var player = $("#player")[0];
            $("#word").mouseenter(function() {              
            player.play();
        }); 
    </script>

    回覆
    0
  • 取消回覆