昨晚看见某网站(至于哪个网站就不说,免得人家又说我侵权)提供的歌词同步卡拉OK功能确实不错,便想把它hack下来,辛苦了整夜,走了些弯路,终于搞定了,现在拿出来跟大家分享!
showlrc.js 文件:
歌词 lrc.js 文件:
var lrctime = new Array(); // 时间偏移量数组
var lrctxt=new Array(); // 歌词数组
例:
var lrctime = new Array();var lrctxt=new Array();
lrctime[1]=0;lrctxt[1]="歌曲:希望你明年冬天会回来 演唱:任贤齐";
lrctime[2]=0;lrctxt[2]="任贤齐 《 希望你明年冬天会回来 》";
lrctime[3]=2000;lrctxt[3]="专辑:天使兄弟小白脸";
lrctime[4]=2240;lrctxt[4]="词: 曲:";
lrctime[5]=4280;lrctxt[5]="希望你明年冬天樱花开会回来";
修改 exobud.js 文件:
找到这行:
if(blnUseSmi){wmpc.captioningID="capText"; capText.style.display="";}
注释掉:
//if(blnUseSmi){wmpc.captioningID="capText"; capText.style.display="";}
找到这行:
if(blnUseSmi){Exobud.ClosedCaption.SAMIFileName = objMmInfo[idx].mmSmi;}
注释掉:
//if(blnUseSmi){Exobud.ClosedCaption.SAMIFileName = objMmInfo[idx].mmSmi;}
在下面添加这段:
var lrcfile = objMmInfo[idx].mmSmi;
if(blnUseSmi){
playlrc.src = lrcfile;
if(lrcfile == '' || lrcfile == 'undefined') msg = "暂无歌词";
if(idx != 0)checkLrc();
}
修改 exobudset.js 文件:
将 blnUseSmi 设为 true;
在 exobudpl.js 里写入:
mkList("歌曲地址","歌词标题","歌词地址","")
修改 exobud.htm 文件:
在
前面加上:
(如果不加在播放第一首歌的时候歌词没法加载,目前没有更好的办法解决这个问题。)
演示地址:
http://www.koven.org (即本站:P)
有不明的可在此留言 或发我email:
koven@163.com