js写音乐播放器初始化时间显示为nan,点击下一首时出现的时间是上一首的,时间对不上或者直接显示nan,能不能给个解决方法,急用!

[复制链接]
查看11 | 回复2 | 2021-1-27 05:42:41 | 显示全部楼层 |阅读模式
window.onload=function()
{
functiongetTime(){
setTimeout(function(){
varduration=$("#audio_src")[0].duration;
if(isNaN(duration)){
getTime();
}
else{
varmusic_time0=Math.floor($("#audio_src")[0].duration);
varmusic_time=formatSeconds(music_time0);
$("#time2").html(music_time);
}
},10);
}
getTime();
varlyric=[
{
'name':"告白气球",
'img':'picture/img1.jpg',
'audio_src':'music/告白气球.mp3',
'content':"00:00.00]告白气球\n[00:04.55]词:方文山曲:周杰伦\n[00:09.23]演唱:周杰伦\n[00:13.67]我爱歌词网www.5ilrc.com\n[00:22.92]塞纳河畔左岸的咖啡\n[00:26.04]我手一杯品尝你的美\n[00:28.95]留下唇印的嘴\n[00:31.98]\n[00:33.67]花店玫瑰名字写错谁\n[00:36.76]告白气球风吹到对街\n[00:39.61]微笑在天上飞\n[00:42.67]\n[00:43.07]你说你有点难追想让我知难而退\n[00:48.98]礼物不需挑最贵只要香榭的落叶\n[00:54.38]营造浪漫的约会不害怕搞砸一切\n[00:59.69]拥有你就拥有全世界\n[01:04.26]\n[01:04.54]亲爱的爱上你从那天起\n[01:10.98]甜蜜的很轻易\n[01:14.96]亲爱的别任性你的眼睛\n[01:21.76]在说我愿意\n[01:25.68]\n[01:30.54]LRC编辑:LoveQQ:8178617\n[01:44.12]\n[01:48.18]塞纳河畔左岸的咖啡\n[01:51.36]我手一杯品尝你的美\n[01:54.31]留下唇印的嘴\n[01:57.44]\n[01:59.09]花店玫瑰名字写错谁\n[02:01.71]告白气球风吹到对街\n[02:04.78]微笑在天上飞\n[02:07.97]\n[02:08.31]你说你有点难追想让我知难而退\n[02:14.33]礼物不需挑最贵只要香榭的落叶\n[02:19.62]营造浪漫的约会不害怕搞砸一切\n[02:25.01]拥有你就拥有全世界\n[02:29.60]\n[02:29.90]亲爱的爱上你从那天起\n[02:36.48]甜蜜的很轻易\n[02:40.44]亲爱的别任性你的眼睛\n[02:47.09]在说我愿意\n[02:50.80]\n[02:51.29]亲爱的爱上你恋爱日记\n[02:57.70]飘香水的回忆\n[03:01.53]一整瓶的梦境全都有你\n[03:08.39]搅拌在一起\n[03:12.34]亲爱的别任性你的眼睛\n[03:20.33]在说我愿意"
},
{
'name':"弹指一挥间",
'img':'picture/img1.jpg',
'audio_src':'music/弹指一挥间.mp3',
'content':"00:01.92]歌词自己补"
}
]
varplay_btn=document.getElementById("play_btn");
varprev_btn=document.getElementById("prev_btn");
varnext_btn=document.getElementById("next_btn");
varaudio=document.getElementsByTagName("audio")[0];
varinitTime=document.getElementsByTagName("time")[0];
vartime=document.getElementsByTagName("time")[1];
varprogress_bar=document.getElementById("progress_bar");
varprogress_cube=document.getElementById("progress_cube");
varvol_bar=document.getElementById("vol_bar");
varvol_cube=document.getElementById("vol_cube");
varlyric_con=document.getElementById("lyric_con");
varlyric_txt=document.getElementById("lyric_txt");
varphoto_pic=document.getElementById("photo_pic");
varicon1=document.getElementById("icon1");
varicon2=document.getElementById("icon2");
varlyric_tit=document.getElementById("lyric_tit");
varlist_con=document.getElementById("list_con");
varlist_item=list_con.getElementsByTagName("p");
varsongIndex=0;
varcontainer=document.getElementById("container");
varobj;
functionconfig()
{
this.play_mark=true;
this.duration=audio.duration;
this.play_btn="";
this.vol=audio.volume;
this.timer=null;
this.rotateSum=0;
this.icon1=icon1.innerHTML;
this.icon2=icon2.innerHTML;
this.icon1_co=icon1.style.color;
this.endplay_btn="";
this.endicon1=icon1.innerHTML;
this.endicon2="";
}
obj=newconfig();
//列表控制
varallSong="";
for(varsong=0;song"+lyric[song].name+"
"
}
list_con.innerHTML=allSong;
list_con.style.height=lyric.length*30+"px";
for(varlistIndex=0;listIndex=lyric.length)
{songIndex=0}
elseif(songIndexprogress_bar.offsetWidth-14){x=progress_bar.offsetWidth-14}
play_ctrl(x);
}
document.onmouseup=function()
{
document.onmousemove=null;
progress_cube.onmousemove=null;
}
}
functionplay_ctrl(x){
vartimego=x/progress_bar.offsetWidth*audio.duration;
progress_cube.style.left=x+"px";
audio.currentTime=timego;
playedTime();
}
//点击进度条位置
progress_bar.onclick=function(ev)
{
varev=ev||window.event;
vardis=ev.clientX-(container.offsetLeft+progress_bar.offsetLeft)-7;
progress_cube.style.left=dis+"px";
play_ctrl(dis);
}/**/
//拖动音量键
vol_cube.onmousedown=function(ev)
{
varev=ev||window.event;
varinitX=ev.clientX-vol_cube.offsetLeft;
this.onmousemove=function(ev)
{
varev=ev||window.event;
varx=ev.clientX-initX;
if(xvol_bar.offsetWidth-11){x=vol_bar.offsetWidth-11}
varvolresult=x/vol_bar.offsetWidth;
this.style.left=x+"px";
audio.volume=volresult;
}
document.onmouseup=function()
{
document.onmousemove=null;
vol_cube.onmousemove=null;
}
}
//点击播放
play_btn.onclick=function()
{
clearInterval(obj.timer);
if(obj.play_mark)
{
this.innerHTML=obj.endplay_btn;
audio.play();
obj.timer=setInterval(function()
{obj.rotateSum=obj.rotateSum+1;
photo_pic.style.transform="rotate("+obj.rotateSum+"deg)";
},30)
}
else{
this.innerHTML=obj.play_btn;
audio.pause();
}
obj.play_mark=!obj.play_mark;
}
//歌词处理
functionlyric_ctrl()
{
varlyricObj=lyric[songIndex].content;
vartemp=lyricObj.split("[");
varhtml="";
for(vari=0;i"+text+"
";
}
}
lyric_txt.innerHTML=html;
}
lyric_ctrl();
functioniconinit(){
icon1.className="icon";
icon1.innerHTML=obj.icon1;
icon1.style.color="#fff";
icon2.className="icon";
icon2.style.color="#fff";
}
//喜欢收藏
icon2.onclick=function()
{
if(this.innerHTML==obj.icon2)
{
this.innerHTML=obj.endicon2;
this.style.color="aquamarine";
this.className="iconyellow";
}
else{
this.innerHTML=obj.icon2;
this.style.color="#fff";
this.className="icon";
}
}
icon1.onclick=function()
{
if(this.style.color==obj.icon1_co)
{
this.innerHTML=obj.endicon1;
this.style.color="#f7759f";
this.className="iconpink";
}
else{
this.innerHTML=obj.icon1;
this.style.color=obj.icon1_co;
this.className="icon";
}
}
}
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:42:41 | 显示全部楼层
你的注释太少了!!!
很多获取元素的都不知道干什么下次要不就把全都代码贴过来
省的我一个个猜还不好重现
if(songIndex>=lyric.length)
{songIndex=0}
elseif(songIndex
第一次nan你自己找吧我重现不了

回复

使用道具 举报

千问 | 2021-1-27 05:42:41 | 显示全部楼层
audio.addEventListener("canplay",function(){
time.innerHTML=format(audio.duration);//获取总时间
});
我找到方法了,获取的改码改成这个就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行