怎样给网页制做lrc歌词.txt蜜蜂整日忙碌,受到赞扬;蚊子不停奔波,人见人打。多么忙不重要,为什么忙才重要。怎样给网页制做lrc歌词
悬赏分:30 - 提问时间2006-9-13 17:28
我想在博客上做出类似百度音乐试听中的歌词同步效果,就是那个歌词不停滚动,而且正在唱的那一句以大字体红色显示.哪位高手知道如何做?
问题补充:伟皮.能再解释一下吗.我试了,有点问题.歌词没显示出来,只显示歌词正在加载中.
提问者:我是周旭 - 试用期一级其他回答共 3 条
TD { FONT-SIZE: 9pt; LINE-HEIGHT: 17px; }
BODY{
FONT-SIZE: 9pt;
LINE-HEIGHT: 17px;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
#lrcollbox td, #lrcollbox font {font-family: 宋体; font-size: 14px;}
#lrcoll td { color:#0080C0; cursor: default; }
#lrcbox { color:#00FF00 }
#lrcfilter { filter: alpha(opacity=0) }
#lrcbc { color:#ff00ff }
self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);
[al:绿色井陉专辑] [by:https://www.sodocs.net/doc/2f16060222.html,] [00:00.02]绿色井陉绿色家园 [00:06.68](林业颂大合唱之二)[00:12.95]词曲:马佶 [00:16.67]演唱:井陉县林业全体职工[00:22.17] [00:25.03](女)水越来越清 [00:27.95]天越来越蓝 [00:30.88]疾病和灾难越来越远[00:36.45](男)让身体康康健健[00:39.66]生活美美满满 [00:42.28]让心的天空洁净和暖[00:48.39](女)小鸟放开歌喉[00:51.29]鲜花露出笑脸 [00:54.25]生机和绿色回归自然[00:59.86](男)让家庭团团圆圆[01:03.07]关爱长依常伴 [01:05.99]把井陉建成绿色家园[01:11.83](合)这绿色的渴望[01:17.63]这绿色的呼唤 [01:23.60](女)我们手拉手 [01:26.57](男)我们心相连 [01:29.46](合)建设井陉绿色家园[01:34.98]这绿色的渴望 [01:41.08]这绿色的呼唤 [01:47.01](女)我们手拉手 [01:49.97](男)我们心相连 [01:52.90](合)建设井陉绿色家园[01:58.72]music [02:22.15](女)水越来越清 [02:25.09]天越来越蓝 [02:27.98]疾病和灾难越来越远[02:33.78](男)让身体康康健健[02:36.76]生活美美满满 [02:39.38]让心的天空洁净和暖[02:45.51](女)小鸟放开歌喉[02:48.50]鲜花露出笑脸 [02:51.60]生机和绿色回归自然[02:56.93](男)让家庭团团圆圆[03:00.15]关爱长依常伴 [03:03.05]把井陉建成绿色家园[03:08.63](合)这绿色的渴望[03:14.45]这绿色的呼唤 [03:20.74](女)我们手拉手 [03:23.57](男)我们心相连 [03:26.57](合)建设井陉绿色家园 [03:32.30]这绿色的渴望 [03:37.94]这绿色的呼唤 [03:44.10](女)我们手拉手 [03:47.04](男)我们心相连 [03:49.94](合)建设井陉绿色家园 [03:55.47]这绿色的渴望 [04:01.41]这绿色的呼唤 [04:07.55](女)我们手拉手 [04:10.47](男)我们心相连 [04:13.39](合)建设井陉绿色家园 [04:17.74]啊…… [04:21.42]绿色井陉绿色家园 [04:29.78]The end -->
| ||
var lrc0;
var lrc1;
var min;
lrcobj = new lrcClass(lrcdata.innerHTML.slice(4,-3));
function lrcClass(tt)
{
this.inr = [];
this.min = [];
this.oTime = 0;
this.dts = -1;
this.dte = -1;
this.dlt = -1;
this.ddh;
this.fjh;
lrcbc.style.width = 0;
if(/\[offset\:(\-?\d+)\]/i.test(tt))
this.oTime = RegExp.$1/1000;
tt = tt.replace(/\[\:\][^$\n]*(\n|$)/g,"$1");
tt = tt.replace(/\[[^\[\]\:]*\]/g,"");
tt = tt.replace(/\[[^\[\]]*[^\[\]\d]+[^\[\]]*\:[^\[\]]*\]/g,"");
tt = tt.replace(/\[[^\[\]]*\:[^\[\]]*[^\[\]\d\.]+[^\[\]]*\]/g,"");
tt = tt.replace(/<[^<>]*[^<>\d]+[^<>]*\:[^<>]*>/g,"");
tt = tt.replace(/<[^<>]*\:[^<>]*[^<>\d\.]+[^<>]*>/g,"");
while(/\[[^\[\]]+\:[^\[\]]+\]/.test(tt))
{
tt = tt.replace(/((\[[^\[\]]+\:[^\[\]]+\])+[^\[\r\n]*)[^\[]*/,"\n");
var zzzt = RegExp.$1;
/^(.+\])([^\]]*)$/.exec(zzzt);
var ltxt = RegExp.$2;
var eft = RegExp.$1.slice(1,-1).split("][");
for(var ii=0; ii { var sf = eft[ii].split(":"); var tse = parseInt(sf[0],10) * 60 + parseFloat(sf[1]); var sso = { t:[] , w:[] , n:ltxt } sso.t[0] = tse-this.oTime; this.inr[this.inr.length] = sso; } } this.inr = this.inr.sort( function(a,b){return a.t[0]-b.t[0];} ); for(var ii=0; ii { while(/<[^<>]+\:[^<>]+>/.test(this.inr[ii].n)) { this.inr[ii].n = this.inr[ii].n.replace(/<(\d+)\:([\d\.]+)>/,"%=%"); var tse = parseInt(RegExp.$1,10) * 60 + parseFloat(RegExp.$2); this.inr[ii].t[this.inr[ii].t.length] = tse-this.oTime; } lrcbc.innerHTML = ""+ this.inr[ii].n.replace(/&/g,"&").replace(//g,">").replace(/% =%/g,"") +""; var fall = lrcbc.getElementsByTagName("font"); for(var wi=0; wi this.inr[ii].w[this.inr[ii].w.length] = fall[wi].offsetWidth; this.inr[ii].n = lrcbc.innerText; } for(var ii=0; ii this.min[ii] = Math.floor((this.inr[ii+1].t[0]-this.inr[ii].t[0])*10); this.min.sort(function(a,b){return a-b}); min = this.min[0]/2; this.run = function(tme) { if(tme { var ii; for(ii=this.inr.length-1; ii>=0 && this.inr[ii].t[0]>tme; ii--){} if(ii<0) return; this.ddh = this.inr[ii].t; this.fjh = this.inr[ii].w; this.dts = this.inr[ii].t[0]; this.dte = (ii lrcwt1.innerText = this.retxt(ii-7); lrcwt2.innerText = this.retxt(ii-6); lrcwt3.innerText = this.retxt(ii-5); lrcwt4.innerText = this.retxt(ii-4); lrcwt5.innerText = this.retxt(ii-3); lrcwt6.innerText = this.retxt(ii-2); lrcwt7.innerText = this.retxt(ii-1); lrcfilter.innerText = this.retxt(ii-1); lrcwt8.innerText = this.retxt(ii+1); lrcwt9.innerText = this.retxt(ii+2); lrcwt10.innerText = this.retxt(ii+3); lrcwt11.innerText = this.retxt(ii+4); lrcwt12.innerText = this.retxt(ii+5); lrcwt13.innerText = this.retxt(ii+6); this.print(this.retxt(ii)); if(this.dlt==ii-1) { clearTimeout(lrc0); if(lrcoll.style.pixelTop!=0) lrcoll.style.top = 0; golrcoll(0); clearTimeout(lrc1); lrcfilter.filters.alpha.opacity = 100; golrcolor(0); } else if(parseInt(lrcoll.style.top)!=-20) { clearTimeout(lrc0); lrcoll.style.top = -20; clearTimeout(lrc1); lrcfilter.filters.alpha.opacity = 0; } this.dlt = ii; } var bbw = 0; var ki; for(ki=0; ki bbw += this.fjh[ki]; var kt = ki-1; var sc = ((ki bbw -= this.fjh[kt] - tc / sc * this.fjh[kt]; if(bbw>lrcbox.offsetWidth) bbw = lrcbox.offsetWidth; lrcbc.style.width = Math.round(bbw); } this.retxt = function(i) { return (i<0 || i>=this.inr.length)?"":this.inr[i].n; } this.print = function(txt) { lrcbox.innerText = txt; lrcbc.innerText = txt; } this.print("https://www.sodocs.net/doc/2f16060222.html,"); lrcwt1.innerText = ""; lrcwt2.innerText = ""; lrcwt3.innerText = ""; lrcwt4.innerText = ""; lrcwt5.innerText = ""; lrcwt6.innerText = ""; lrcwt7.innerText = ""; lrcfilter.innerText = ""; lrcwt8.innerText = ""; lrcwt9.innerText = ""; lrcwt10.innerText = ""; lrcwt11.innerText = ""; lrcwt12.innerText = ""; lrcwt13.innerText = ""; } function lrcrun() { with(aboutplayer) { lrcobj.run(controls.currentPosition); } if(arguments.length==0) setTimeout("lrcrun()",10); } function golrcoll(s) { lrcoll.style.top = -(s++)*2; if(s<=9) lrc0 = setTimeout("golrcoll("+s+")",min*10); } function golrcolor(t) { lrcfilter.filters.alpha.opacity = 110-(t++)*10; if(t<=10) lrc1 = setTimeout("golrcolor("+t+")",min*10); } window.onerror = function() {return true;} lrcrun();