2017-12-09 3 views
-1

Warum kann ich den gepufferten Audio-Prozentsatz in Javascript nicht anzeigen?Gepufferten Audio-Prozentsatz anzeigen

var audio = document.getElementById("aone1"); 
 
var percentages = document.getElementById("aone1l"); 
 

 
function loop() { 
 
    var buffered = audio.buffered; 
 
    var loaded; 
 
    var played; 
 

 
    if (buffered.length) { 
 
    loaded = 100 * buffered.end(0)/audio.duration; 
 
    played = 100 * audio.currentTime/audio.duration; 
 
    percentages[0].innerHTML = loaded.toFixed(2); 
 
    percentages[1].innerHTML = played.toFixed(2); 
 
    } 
 

 
    setTimeout(loop, 50); 
 
} 
 

 
loop();
<audio id="aone1" controls="controls"> 
 
    <source src="http://jainvidhya.epizy.com/Audio/Part1/ऑडियो नंबर 1 नमस्कार महामंत्र.mp4"> 
 
</audio> 
 
<p>Loaded: <span id="aone1l"></span>%</p> 
 
<p>Played: <span id="aone1l"></span>%</p>

auch, warum die Audio-laden viel Zeit in Anspruch nimmt?

+0

'getElementById' wird kein Array geben, wird es Ihnen geben ein eindeutiges Objektelement aus DOM. Verwenden Sie stattdessen Klassen. ** id's sollte einzigartig sein ** – bhansa

Antwort

0

Verwenden Sie eindeutige id oder Nutzungsklassen statt hier, die ein Array geben und stellen Sie dann die innerHTML:

var audio = document.getElementById("aone1"); 
 
var percentages = document.getElementsByClassName("aone1l") 
 

 
function loop() { 
 
    var buffered = audio.buffered; 
 
    var loaded; 
 
    var played; 
 

 
    if (buffered.length) { 
 
    loaded = 100 * buffered.end(0)/audio.duration; 
 
    played = 100 * audio.currentTime/audio.duration; 
 
    percentages[0].innerHTML = loaded.toFixed(2); 
 
    percentages[1].innerHTML = played.toFixed(2); 
 
    } 
 

 
    setTimeout(loop, 50); 
 
} 
 

 
loop();
<audio id="aone1" controls="controls"> 
 
    <source src="https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3"> 
 
</audio> 
 
<p>Loaded: <span class="aone1l"></span>%</p> 
 
<p>Played: <span class="aone1l"></span>%</p>

+0

Danke, es funktioniert. Wenn ich 'var audio' in' var audio1o' ändere, gibt es dann noch mehr Ersetzungen mit demselben? –

+0

Ich habe den Variablennamen nicht geändert, aber Sie können ihn ändern, wenn Sie möchten. Ich habe nur Klassen statt IDs benutzt. – bhansa

+0

Können Sie bitte die Variable ändern. (Ersetze 'audio' durch irgendeinen) –

Verwandte Themen