ホームページ  >  に質問  >  本文

ドキュメントをクリックせずにマウス入力イベントで自動的にサウンドを再生するにはどうすればよいですか?

<p>次の HTML コードがあります: </p> <pre class="brush:php;toolbar:false;"><div id="word">word</div> <オーディオ ID="プレーヤー"> <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> <ブロック引用> <p>Uncaught (in Promise) DOMException: Play メソッドは許可されていません 現在のコンテキストにおけるユーザー エージェントまたはプラットフォーム、おそらく ユーザーが許可を拒否したためです。 </p> </blockquote> <p>および次の警告: </p> <ブロック引用> <p>ユーザーが同意した場合にのみ自動再生を許可します。 ユーザーが Web サイトを操作したか、メディア ファイルにボリュームが設定されています ゼロに戻ります。 </p> </blockquote> <p>音量をゼロに設定すると、次のエラーが表示されます: </p> <ブロック引用> <p>キャッチされません (約束どおり) DOMException: メディア取得プロセス ユーザー エージェントはユーザーの要求に応じてリソースを終了しました。 </p> </blockquote> <p>ChromeとFirefoxの両方で試してみました。 </p>
P粉744831602P粉744831602414日前648

全員に返信(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
  • キャンセル返事