recherche

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

Comment obtenir la durée de lecture de l'audio HTML5

<p>J'ai une balise html5 <code><audio></code> dans la page, mais comment connaître sa durée ? </p> <pre class="brush:php;toolbar:false;"><contrôles audio=""> <source src="p4.2.mp3"> </audio></pre> <p><br /></p>
P粉545218185P粉545218185460 Il y a quelques jours618

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

  • P粉792673958

    P粉7926739582023-08-23 11:57:19

    Solution 2020 :

    Lorsque les métadonnées audio n'ont pas encore été chargées, vous obtiendrez undefinedNaN(不是数字)。因此,有些人建议首先使用onloadedmetadata确保音频文件的元数据被获取。此外,大多数人没有提到的是,您必须使用[0] localiser le premier index de l'élément audio DOM, comme ceci :

    -- JavaScript natif :

    var audio = document.getElementById('audio-1');
    audio.onloadedmetadata = function() {
      alert(audio.duration);
    };

    Si cela ne fonctionne pas, essayez la méthode suivante, mais cette méthode est moins fiable et dépend de la connexion de l'utilisateur :

    setTimeout(function () {
        var audio = document.getElementById('audio-1');
        console.log("audio", audio.duration);
    }, 100);

    -- JQuery :

    $(document).ready(function() {
       var audio = $("#audio-1")[0];
       $("#audio-1").on("loadedmetadata", function() {
           alert(audio.duration);
       }); 
    });

    répondre
    0
  • Annulerrépondre