乌秋博客
梦想在左,生活在右。   

Exobud网页播放器实现歌词卡拉OK功能
昨晚看见某网站(至于哪个网站就不说,免得人家又说我侵权)提供的歌词同步卡拉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
posted at 06/10/02 17:43 | 开发手记 - 工作日志 | 浏览(87) | 引用 | 评论(1)

 Track this back : http://www.koven.org/rserver.php?mode=tb&sl=165
Commented by 李好 at 08/04/08 11:33 x
不错!

  name   password   homepage
隐藏评论(只有管理员可见)    


      << prev    1  ...  135  136  137  138  139  140  141  142  143  ...  336    next >>