打算設計一個播放器,其中一個函數控制點擊菜單某首歌曲即可播放,在該函數內調用music.play()后繼續console.log(music.src)是可以正常顯示src路徑的。然而在另一個控制播放下一曲的函數中,不論輸出src還是currentSrc都是顯示未定義,甚至輸出currentTime等相關屬性都是顯示為0.相關代碼如下:function prevSong(msc){ //上一首歌
let s = msc.currentSrc; let tar; /*
返回當前播放的節點給tar,代碼略
*/
msc.pause(); if(tar.previousSibling.nodeName == 'LI'){ let index = tar.previousSibling.innerHTML;
msc.src = 'src/music/'+index+'.mp3';
}else{ let chd = tar.parentNode.childNodes; let res = chd[chd.length-1];
msc.src = 'src/music/'+res.innerHTML+'.mp3'
} //msc.load();
msc.play();
}另外,如何正常獲取音頻長度duration?我照著網上各種解決方法,使用了onloadedmetadata甚至是promise,輸出的都是NaN直接把demo給post上來吧:http://www.malakh.xyz/demo2/js:http://www.malakh.xyz/demo2/s...
JS無法獲取正在播放的audio的src等屬性 / audio的duration為NaN
慕絲7291255
2018-10-24 09:46:59