求能解决一个js载入lrc歌词的问题

求能解决一个js载入lrc歌词的问题,第1张

他的js里强制转换了document.domain

if(addrlocation.indexOf(".9ku.com")!=-1)document.domain="9ku.com"

if(addrlocation.indexOf("?qq-pf-to")!=-1)addrlocation=addrlocation.split("?qq-pf-to")[0]

再往下的没看,这里改了不行的话再追问

涉及几个问题。

首先,需要有LRC文件,可以放在本地或者用Ajax读取。

其次需要解析LRC文件,生成排序的数组。下面的代码供参考。

最后,利用<audio>标签的currentTime属性获得当前播放的时间,实时刷新歌词显示。具体的显示代码可做成单行(最简单,替换标签内文本即可)、双行或者多行高亮都可以。

function parseLyric(text) {

lyric = text.split('\r\n') //先按行分割

var _l = lyric.length //获取歌词行数

lrc = new Array() //新建一个数组存放最后结果

for(i=0i<_li++) {

    var d = lyric[i].match(/\[\d{2}:\d{2}((\.|\:)\d{2})\]/g)  //正则匹配播放时间

    var t = lyric[i].split(d) //以时间为分割点分割每行歌词,数组最后一个为歌词正文

    if(d != null) { //过滤掉空行等非歌词正文部分

        //换算时间,保留两位小数

        var dt = String(d).split(':') 

        var _t = Math.round(parseInt(dt[0].split('[')[1])*60+parseFloat(dt[1].split(']')[0])*100)/100 

        lrc.push([_t, t[1]])

    }

return lrc

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11253063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存