Maison  >  Questions et réponses  >  le corps du texte

Comment lire automatiquement le son lors de l'événement d'entrée de la souris sans cliquer sur le document ?

<p>J'ai le code HTML suivant : </p> <pre class="brush:php;toolbar:false;"><div id="word">word</div> <identifiant audio="lecteur"> <identifiant de la source="source" src"sound.ogg" type="audio/ogg" /> </audio></pre> <p> et le code JavaScript/jQuery suivant : </p> <pre class="brush:php;toolbar:false;">$('#word').mouseenter(function() { var audio = $("#player")[0]; audio.load(); audio.play(); });</pré> <p>Sur mon navigateur, ce code ne fonctionne que si je <strong>clique</strong> sur le document. Sinon, cela ne fonctionne pas et l'erreur suivante apparaît dans la console JavaScript : </p> <blockquote> <p>Non capturé (promis) DOMException : méthode de lecture non autorisée L'agent utilisateur ou la plateforme dans le contexte actuel, éventuellement Parce que l'utilisateur a refusé l'autorisation. </p> </blockquote> <p>et l'avertissement suivant : </p> <blockquote> <p>Autoriser la lecture automatique uniquement si l'utilisateur l'accepte, L'utilisateur a interagi avec le site Web ou le fichier multimédia a le volume défini Retour à zéro. </p> </blockquote> <p>Si je règle le volume à zéro, j'obtiens l'erreur suivante : </p> <blockquote> <p>Non capturé (promis) DOMException : processus de récupération de média L'agent utilisateur a mis fin à la ressource à la demande de l'utilisateur. </p> </blockquote> <p>Je l'ai essayé sur Chrome et Firefox. </p>
P粉744831602P粉744831602414 Il y a quelques jours645

répondre à tous(1)je répondrai

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

    répondre
    0
  • Annulerrépondre