私はオーディオファイルとそのためのjavascriptを持っています。javascriptの内部htmlが動作しない
バッファリングされたオーディオのjavascriptのディスプレイ割合は、何の緩衝化が発生していない場合、それはロード...
function loop2() {
var audio2 = document.getElementById("atwo1");
var percentages = document.getElementsByClassName("atwo1l")
var buffered = audio2.buffered;
var loaded;
if (buffered.length) {
loaded = 100 * buffered.end(0)/audio2.duration;
if (loaded.toFixed(2) != '0') {
percentages[0].innerHTML = 'Loading: ' + loaded.toFixed(2) + '%';
} else {
percentages[0].innerHTML = 'Loading....';
}
}
setTimeout(loop2, 50);
}
loop2();
<audio id="atwo1" controls="controls">
<source src="https://docs.google.com/uc?export=download&id=19gLpR7J8TVHmooVbM23eK5Xq0f9YXNZf">
</audio>
<p><span class="atwo1l"></span></p>
が表示されますが、上記のコードのために、それが表示されませんloading...
小さなオーディオファイルを置くと表示されます。だから、大きなファイルのためになぜですか?
更新:
Found a partial answer(updated codes)
'loaded'というコードレンダリングは、 'buffered.lengfth'がある場合にのみトリガする条件の中にあります。 – sideroxylon
@sideroxylonしたがって、関数の外にもう1つの条件が必要ですか? – JVOQ
@sideroxylonそして、条件は何ですか? – JVOQ