目前因项目需要,调用QQ音乐的接口,发现返回的数据是一个带有编码格式的歌词,所以就本着未来重复使用的方便,就封装了一个转换格式的方法。
1.0版本还是按照自身的需要进行了封装,未来计划在空余时间做一个完整的音乐歌词、进度的插件封装,希望指点不足:
贴一个主部分处理代码
function lrc(data,istotalTime){
var lyricArr =[]
// 在这里对data进行歌词处理
// 转换其中的ascll
var newdata = data.replace(/&#(\d+);/g,function(data){
return String.fromCharCode(data.substr(2,2))
})
var dataArr = newdata.split('\n')
for(var i =0;i<dataArr.length;i++){
//以']'去分隔时间和歌词
var timetext = dataArr[i].split(']')
//需将时间的前半中括号去除,并将时间转换
var time = timetext[0].replace(/[\[]/g,'').split(':')
if(istotalTime){
var changetime = time[0] * 60 + parseInt(time[1])
}else{
var changetime = time[0] + ':'+ parseInt(time[1])
}
//进行判断是否有歌词,没有的就跳过
if(!timetext[1]){
continue;
}
var text = timetext[1]
var obj ={
time:changetime,
text:text
}
lyricArr.push(obj)
}
return lyricArr
}