javascript - 显示音频的缓冲百分比

标签 javascript html html5-audio

为什么我无法使用 Javascript 显示音频的缓冲百分比?

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>

另外,为什么音频需要很长时间才能加载?

最佳答案

使用唯一的id或在此处使用类,这将为您提供一个数组,然后设置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>

关于javascript - 显示音频的缓冲百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47727943/

相关文章:

javascript - 遍历包含数组的对象

Javascript 单例作用域问题

html - 为什么音频按钮在HTML 5音频标签中被切断

html - 设置 HTML5 音频事件的粒度 'timeupdate'

javascript - Jquery 函数附加变量

javascript - 仅为第三个 div 追加元素,之后每第五个 div

html - 当另一个DIV打开时如何将另一个DIV下推?

javascript - 如何使用 Jquery 检查元素是否具有特定事件

ios - 如何使用 API 调用 Ionic 上的数据

javascript - 在 JavaScript 中播放字符串中的音频文件