自己用JS編寫了一個audio的音樂播放器
不知道用JS怎樣來獲取audio音樂已經(jīng)緩存到了多少秒 或是說已經(jīng)緩存了百分之多少
在網(wǎng)上找的都是這樣的:
// 獲取已緩沖部分的 TimeRanges 對象
var timeRanges = _audio.buffered;
// 獲取以緩存的時間
var timeBuffered = timeRages.end(timeRages.length - 1);
// 獲取緩存進(jìn)度,值為0到1
var bufferPercent = timeBuffered / _audio.duration;
但我試了 根本就不行啊
代碼有問題 js無法執(zhí)行
不知道是哪出了問題
走同樣的路,發(fā)現(xiàn)不同的人生
var buffered, percent;
// 已緩沖部分
audio.readyState == 4 && (buffered = audio.buffered.end(0));
// 已緩沖百分百
audio.readyState == 4 && (percent = Math.round(buffered / audio.duration * 100) + '%');
audio.buffered.end
必須在 audio
對象獲取到信息時才可以使用
使用 chrome 在 http://music.163.com/ 下的 console 面板輸入以下代碼試試:
var audio = new Audio('http://124.14.17.172/m10.music.126.net/20160813225417/5c28eab96709119d9acfaa80a93c5365/ymusic/50c1/a8fd/3847/4d6d8d45a3f2935d48e24a0fe6a89308.mp3?wshc_tag=0&wsts_tag=57af2ebd&wsid_tag=d3a1f9e4&wsiphost=ipdbm');
audio.play();
audio.ontimeupdate = () => {
audio.readyState == 4 && console.warn('正在緩沖:' + Math.round(audio.buffered.end(0) / audio.duration * 100) + '%');
}