打算设计一个播放器,其中一个函数控制点击菜单某首歌曲即可播放,在该函数内调用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...
幕布斯6054654
相关分类