目前因项目需要,调用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
        }