suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie kann man bei Mauseingabe automatisch Ton abspielen, ohne auf das Dokument zu klicken?

<p>Ich habe den folgenden HTML-Code: </p> <pre class="brush:php;toolbar:false;"><div id="word">word</div> <audio id="player"> <source id="source"sound.ogg" </audio></pre> <p> und der folgende JavaScript/jQuery-Code: </p> <pre class="brush:php;toolbar:false;">$('#word').mouseenter(function() { var audio = $("#player")[0]; audio.load(); audio.play(); });</pre> <p>In meinem Browser funktioniert dieser Code nur, wenn ich <strong>auf das Dokument klicke. Andernfalls funktioniert es nicht und in der JavaScript-Konsole erscheint der folgende Fehler: </p> <blockquote> <p>Uncaught (in Versprechen) DOMException: Play-Methode nicht zulässig Möglicherweise der Benutzeragent oder die Plattform im aktuellen Kontext Weil der Benutzer die Erlaubnis verweigert hat. </p> </blockquote> <p>und die folgende Warnung: </p> <blockquote> <p>Autoplay nur zulassen, wenn der Benutzer zustimmt, Der Benutzer hat mit der Website interagiert oder für die Mediendatei ist die Lautstärke festgelegt Zurück zur Null. </p> </blockquote> <p>Wenn ich die Lautstärke auf Null stelle, erhalte ich die folgende Fehlermeldung: </p> <blockquote> <p>Uncaught (in Versprechen) DOMException: Medienabrufprozess Der Benutzeragent hat die Ressource auf Wunsch des Benutzers beendet. </p> </blockquote> <p>Ich habe es sowohl auf Chrome als auch auf Firefox ausprobiert. </p>
P粉744831602P粉744831602458 Tage vor688

Antworte allen(1)Ich werde antworten

  • 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>

    Antwort
    0
  • StornierenAntwort