查看: 4666|回复: 100

[原创教程] 歌词同步制作方法

[复制链接]

78

主题

5516

帖子

7

精华

论坛元老

Rank: 7Rank: 7Rank: 7

积分
5963

优秀会员勋章

QQ
金钱
54
存款
42834
发表于 2010-3-22 00:26 | 显示全部楼层 |阅读模式
本帖最后由 飞舞公主 于 2010-3-22 01:03 编辑

说道歌词同步呢,也就关系到空间贴,那就一并说了吧
一、空间贴的制作
1、关于空间帖的制作方法,什么叫空间帖

空间帖就是将代码以文本(.txt)或网页(.html)的形式上传到一个空间中(但空间必须要支持这两种格式的上传)后,就会的到一个地址,和上传图片是一个道理,再通过全屏代码显示出来,这就是空间贴。 空间帖有着许多的好处,当你游走在不同版本的论坛间时,不会因为因版本的不同而出现代码的错误而不停地调整代码,而有时往往你根本就不知道错误出在哪.用空间帖就不会这样,只要你将代码在记事本中一次处理好,上传到空间,无论你将此帖发往何处,基本不会出现错误而能保持你原帖的风格.。

2、上传:  

当代码在记事本中编辑好保存后的格式默认为.TXT 也可以保存为其他形式(如HTML),当你将保存的文本决定作成空间帖时,请你再打开此文件从新修改下两个数据: 将距左距及距顶距设为LEFT:0px; TOP:0px将整帖最后面的空行全部删除后再保存下,这样空间帖的前期工作就结束了。 接下来就该寻找支持TXT文本的空间了,在网上空间很多,但很多都不支持外连,目前我用的呢是一个外国空间,名字是Dropdox,大家可以网上搜搜,可可以直接下载下面的安装到自己的电脑上哈。至于如何安装使用嘛可以看看下面的连接的哈,介绍的很详细的哦

找到记事本地址后粘帖复制到空间贴代码中,然后按正常的HTML帖方法发帖,到此空间帖就制作完成了(具体代码请参照2楼


Dropdox下载地址:
http://fwgongzhu.qupan.com/6062891.html
http://fwgongzhu.qupan.com/5869624.html
至于安装与使用吗可以看看这个的哈:http://hi.baidu.com/yami_si/blog ... c365e6ab6457b2.html

评分

参与人数 1金钱 +10 收起 理由
月夜听琴 + 10 谢谢,辛苦

查看全部评分

“小尘牌”布衫超级可耐!

交流娱乐超级群:19800188

78

主题

5516

帖子

7

精华

论坛元老

Rank: 7Rank: 7Rank: 7

积分
5963

优秀会员勋章

QQ
金钱
54
存款
42834
 楼主| 发表于 2010-3-22 00:26 | 显示全部楼层
本帖最后由 飞舞公主 于 2010-3-22 09:12 编辑

二、同步歌词代码:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HEAD><TITLE> [飞舞音画]迎春花</TITLE>
<META http-equiv=Content-Style-Type content=text/css>
<META content="MSHTML 6.00.2716.2200" name=GENERATOR>
<STYLE type=text/css>.time {
        BEHAVIOR: url(#default#time2)
}
BODY {
        BORDER-RIGHT: #5C3317  0px ridge; BORDER-TOP: #5C3317  0px ridge; MARGIN: 0px;

OVERFLOW: hidden; BORDER-LEFT: #5C3317  0px ridge; BORDER-BOTTOM: #5C3317  0px ridge
}
#layer1 {
        SCROLLBAR-ARROW-COLOR: #5C3317 ; SCROLLBAR-BASE-COLOR: black
}

</STYLE>
</HEAD>

<IMG style="FILTER: revealTrans(duration=2,transition=20)" height=600 src="https://dl.dropbox.com/u/865679/wenben/texiao/tu/%E8%BF%8E%E6%98%A5%E8%8A%B1.jpg" width=1000 border=0 name=bannerADrotator></A><SCRIPT language=JavaScript>nextAd()</SCRIPT>

<HTML xmlns:v>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
v\:textpath {
        FONT-SIZE: 18px; FONT-FAMILY: 楷体_gb2312; v-text-align: left
}
</STYLE>
<XMP id=xLyric style="DISPLAY: none">


[ti:迎春花 (粤)]
[ar:卓依婷]
[al:好春天]
[图文:飞舞公主]
[00:00.09]卓依婷 - 迎春花 (粤)
[00:04.00]词:关圣佑 曲:关圣佑
[00:07.68]【怡情三月】友情支持
[00:11.38]
[00:15.40]好一朵迎春花 人人都爱它
[00:22.45]好一朵迎春花 迎来大地放光华
[00:29.86]好一朵迎春花 花开每一家
[00:37.17]好一朵迎春花 茂盛艳丽春色雅
[00:44.48]迎春花开 带来了好年华
[00:51.85]迎春花艳 倍觉景致如画
[00:59.18]花开富贵 人尽畅怀
[01:06.49]万事胜意 无牵挂
[01:14.00]好一朵迎春花 谁人不爱它
[01:21.33]好一朵迎春花 迎来大地绣彩霞
[01:28.57]插起那迎春花 芬芳播千家
[01:35.86]插起那迎春花 人人齐共欢乐也
[01:45.44]
[01:58.31]好一朵迎春花 人人都爱它
[02:05.42]好一朵迎春花 迎来大地放光华
[02:12.67]好一朵迎春花 花开每一家
[02:19.95]好一朵迎春花 茂盛艳丽春色雅
[02:27.32]迎春花开 带来了好年华
[02:34.70]迎春花艳 倍觉景致如画
[02:43.11]花开富贵 人尽畅怀
[02:50.26]万事胜意 无牵挂
[02:57.88]好一朵迎春花 谁人不爱它
[03:05.22]好一朵迎春花 迎来大地绣彩霞
[03:12.53]插起那迎春花 芬芳播千家
[03:19.84]插起那迎春花 人人齐共欢乐也
[03:29.64][飞舞音画]谢谢欣赏


</XMP>
<SCRIPT>
window.onerror=function(){return false}
start()
function start(){
browser_ini()
timer_ini()
emv_ini()
lrc.setData(oo("xLyric").innerHTML)
lrc.write("歌曲载入中,请耐心等待...","l")
emv.play("http://gh.gdsyzx.edu.cn/UploadFiles/media/newyear_yingchunhua.mp3")
}
function emv_ini(){
var l
window.emv={}
lrc_ini()
l="<div id=bxEmv style=position:absolute;left:420;top:100;width:700;height:500>"
l+="<div style=position:absolute;left:420;top:0;width:700;height:460;></div>"
l+="<div id=bxEmvScreen style=position:absolute;overflow:hidden;left:100;top:6;width:700;height:660;>"
l+="</div>"
l+="</div>"
l+="<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 id=mplayer width=550 height=200 style=display:none></object>"
insHtm(document.body,l)
emv.play=function(url){oo("mplayer").FileName=url;oo("mplayer").Play()}
emv.time=function(){
  var mPos=mplayer.CurrentPosition,n=lrc.i
  var n1,o,len,w,per,n0,n1
  n1=n<lrc.arr.length-1?lrc.arr[n+1].slice(0,"|")*1:9999
  if(n1<mPos){
   lrc.i++
   n++
   if(n==0)
    lrc.write(lrc.arr[n].slice("|"),"l")
   if(n<lrc.arr.length-1)
    lrc.write(lrc.arr[n+1].slice("|"),n%2==1?"l":"r")
  }
  if(n>=0){
   n0=lrc.arr[n].slice(0,"|")
   n1=lrc.arr.length>n+1?lrc.arr[n+1].slice(0,"|"):4
   o=oo("bxCaption_"+(n%2==0?"l":"r")+"_cover")
   len=o.time!=""?o.time*1:n1-n0
   per=(mPos-n0)/len
   for(i=0.001;i<1;i+=0.001){
    per1=lrc.getRealPos(o,i)
    if(per1>=per)
     break
   }
   o.style.width=o.width*i
  }
}
timer.add("emv.time()")
}
function lrc_ini(){
window.lrc={}
lrc.wordPer=function(str,pos){
  return str.slice(0,pos).replace(/[^\x00-\xff]/g,"  ").length/str.replace(/[^\x00-\xff]/g,"  ").length
}
lrc.setData=function(str){
  var l,a,i,ad,n,j
  str=str.replace(/\|/g,"").replace(/\r\n/g,"\n")
  str=str.replace(/\[(\d\d)\\d\d)\.(\d\d)\]/g,function($0,$1,$2,$3){return ($1*60+$2*1+$3/100)+"|"})
  a=str.split("\n")
  lrc.arr=new Array()
  for(i=0;i<a.length;i++){
   ad=a.split("|")
   for(j=1;j<ad.length;j++){
    lrc.arr.add(ad[j-1]+"|"+ad[ad.length-1])
   }
  }
  lrc.i=-1
  sortIndex=0
  sortDir=1
  lrc.arr.sort(sortFoo)
}
lrc.getRealPos=function(obj,pos){
  var a=obj.path,zoom=obj.zoom,pos1=pos*zoom
  var a,i,ad
  for(i=0;i<a.length;i++){
   ad=a
   if(pos<=ad[0])
    continue
   if(pos>ad[0]&&pos<=ad[1])
    pos1+=(zoom*ad[2]-zoom)*(pos-ad[0])
   else{
    pos1+=(zoom*ad[2]-zoom)*(ad[1]-ad[0])
   }
   
  }
  return pos1
}
lrc.write=function(str,pos){
  var word=str,style=""
  var x,y,l,w,w1,o,a,i,ad
  if(/^\<.+\>/.test(str)){
   word=str.slice(">")
   style=str.slice(1).slice(0,">")
  }
  w=word.replace(/[^\x00-\xff]/g,"  ").length*13+2
  if(pos=="l"){
   x=30
   y=310
  }
  else{
   x=320-w
   y=340
  }
  l="<div id=bxCaption_"+pos+" style='position:absolute;left:"+x+";top:"+y+";width:"+w+";height:26;overflow:hidden'>"
  l+="<v:curve to=600,1 strokecolor=green strokeweight=2 style=position:absolute;top:14>"
  l+="<v:path textpathok=t /><v:textpath on=t string='"+word+"' /></v:curve>"
  l+="<v:curve to=600,1 strokecolor=#FFFAFA fillcolor=white strokeweight=1 style=position:absolute;top:14>"
  l+="<v:path textpathok=t /><v:textpath on=t string='"+word+"' /></v:curve>"
  l+="</div>"
  l+="<div id=bxCaption_"+pos+"_cover width="+w+" style=position:absolute;left:"+x+";top:"+y+";width:0;height:32;overflow:hidden>"
  l+="<v:curve to=600,1 strokecolor=#FFFAFA strokeweight=3 style=position:absolute;top:14>"
  l+="<v:path textpathok=t /><v:textpath on=t string='"+word+"' /></v:curve>"
  l+="<v:curve to=600,1 strokecolor=#FF0000 fillcolor=#FF0000 strokeweight=1 style=position:absolute;top:14>"
  l+="<v:path textpathok=t /><v:textpath on=t string='"+word+"' /></v:curve>"
  l+="</div>"
  odel("bxCaption_"+pos)
  odel("bxCaption_"+pos+"_cover")
  insHtm("bxEmvScreen",l)
  o=oo("bxCaption_"+pos+"_cover")
  o.time=style.get("time")
  o.path=new Array()
  len1=1
  a=style.split(";")
  for(i=0;i<a.length;i++){
   if(!/(\d+)\d+)/.test(a))
    continue
   if(/(\d+)-(\d+)\d+)/.test(a)){
    ad=/(\d+)-(\d+)\d+)/.exec(a)
    ad[0]=lrc.wordPer(word,ad[1]-1)
    ad[1]=lrc.wordPer(word,ad[2]*1)
    ad[2]=ad[3]
   }
   else{
    ad=/(\d+).+)/.exec(a)
    ad[0]=lrc.wordPer(word,ad[1]-1)
    ad[1]=lrc.wordPer(word,ad[1]*1)
   }
   len1+=(ad[1]-ad[0])*(ad[2]-1)
   o.path.add(ad)
  }
  o.zoom=1/len1
}
}
function browser_ini(){
window.isIE=navigator.userAgent.indexOf("IE")>0
window.isIE5=navigator.userAgent.indexOf("IE 5.0")>0
String.prototype.trim=function(){return this.replace(/(^[\s]*)|([\s]*$)/g,"")}
String.prototype.inc=function(s1,s2){if(s2==null){s2=","};return (s2+this+s2).indexOf(s2+s1+s2)>-1?true:false}
String.prototype._slice="".slice
String.prototype.slice=function(n1,n2){var v,b1=typeof(n1)=="number",b2=typeof(n2)=="number";if(!b1||typeof(n2)=="string"){v=eval("this._slice("+(b1?n1:this.indexOf(n1)+(n2==null?1:0)+(this.indexOf(n1)==-1?this.length:0))+(n2==null?""b2?n2this.indexOf(n2)==-1?"":","+this.indexOf(n2))))+")")}else{v=isIE5&&n1<0&&n2==null?this._slice(this.length-1):eval("this._slice(n1"+(n2==null?"":","+n2)+")")}return v}
String.prototype.get=function(str,def){if(this.inc(str,";"))return 1;var a=this.match(new RegExp("(^|;)"+str+":[^;]*"));return a==null||str==""?(def==null?"":def):a[0].replace(";","").slice(str.length+1)}
Array.prototype.add=function(key){this[this.length]=key}
window.oo=function(obj){return typeof(obj)=="string"?document.getElementById(obj):obj}
window.insHtm=function(op,html,inEnd){op=oo(op);if(isIE){op.insertAdjacentHTML(inEnd==null?"beforeend":"afterbegin",html)}else{var r=op.ownerDocument.createRange();r.setStartBefore(op);eval("op."+(inEnd==null?"appendChild":"insertBefore")+"(r.createContextualFragment(html),op.firstChild)");}}
window.odel=function(obj){if(oo(obj)!=null){oo(obj).parentNode.removeChild(oo(obj))}}
if(!isIE){
     HTMLElement.prototype.contains=function(node){if(!node)return false;do if(node==this){return true}while(node=node.parentNode){return false}}
  Event.prototype.__defineGetter__("srcElement",function(){var node=this.target;while(node.nodeType!=1){node=node.parentNode}return node})
  Event.prototype.__defineGetter__("toElement",function(){return this.relatedTarget})
}
}
function timer_ini(){
window.timer={}
timer.handle=null
timer.queue=""
timer.i=0
timer.add=function(key){if(!timer.queue.inc(key,";")){timer.queue+=key+";"}}
timer.del=function(key){timer.queue=move.queue.replace(key+";","")}
timer.inv=function(){
  window.clearTimeout(timer.handle)
  eval(timer.queue)
  timer.i++
  timer.handle=window.setTimeout("timer.inv()",10)
}
timer.inv()
}
function sortFoo(v1,v2){
    var s1=v1.split("|")[sortIndex],s2=v2.split("|")[sortIndex]
    if(!isNaN(s1)&&!isNaN(s2)){
  s1*=1
  s2*=1
    }
return (s1==s2?0s1>s2?1:-1))*sortDir
}
</SCRIPT>



</SCRIPT>
</BODY></HTML>





游客,如果您要查看本帖隐藏内容请回复

大家只需要改动上面有颜色的地方就可以了哦,至于其他的是什么意思,只能遗憾的告诉您我也不懂的.......

空间贴代码:


游客,如果您要查看本帖隐藏内容请回复


发代码空间帖,只要把上面的代码复制进去,设置好网址及高度、宽度,并把编辑框左下角“启用HTML”前的小框里打上勾,点提交即可。。






论坛有时因为一些代码变成了图片或因其他有时会屏蔽部分代码字符,为了大家成功使用建议下载附件里的代码

代码.rar

3.83 KB, 下载次数: 112, 下载积分: 威望 -10 , 金钱 -10

“小尘牌”布衫超级可耐!

交流娱乐超级群:19800188

78

主题

5516

帖子

7

精华

论坛元老

Rank: 7Rank: 7Rank: 7

积分
5963

优秀会员勋章

QQ
金钱
54
存款
42834
 楼主| 发表于 2010-3-22 00:26 | 显示全部楼层
本帖最后由 飞舞公主 于 2010-3-22 01:15 编辑

颠三倒四了哈
我想到那就说道哪吧,继续介绍咋样才能制作同步歌词:

1.jpg

2.jpg
游客,如果您要查看本帖隐藏内容请回复
“小尘牌”布衫超级可耐!

交流娱乐超级群:19800188

78

主题

5516

帖子

7

精华

论坛元老

Rank: 7Rank: 7Rank: 7

积分
5963

优秀会员勋章

QQ
金钱
54
存款
42834
 楼主| 发表于 2010-3-22 00:26 | 显示全部楼层
本帖最后由 飞舞公主 于 2010-3-22 01:03 编辑

效果图:
http://bbs.hongrenju.net/thread-50516-1-2.html

这个帖子是我学习制作的一个单图,图图实在是不好意思让大家欣赏的哈,图图质量就不提了哈,因为没什么含量发帖的时候就加了个同步歌词做装饰,首先谢谢大家的支持,应邀做个简单的制作歌词同步教程,希望大家能看懂。
“小尘牌”布衫超级可耐!

交流娱乐超级群:19800188

78

主题

5516

帖子

7

精华

论坛元老

Rank: 7Rank: 7Rank: 7

积分
5963

优秀会员勋章

QQ
金钱
54
存款
42834
 楼主| 发表于 2010-3-22 00:27 | 显示全部楼层
本帖最后由 飞舞公主 于 2010-3-22 01:06 编辑








算了 算了 韩式直接贴到这里吧,我咋就觉得自己越来越懒哈,不想跑路的说啊,喜欢的朋友们不要忘记帮偶支持支持帖子哈,谢谢!!! 看懂的朋友们就看,看不懂的朋友们接着问哈,偶要睡觉去了,亲们晚安
“小尘牌”布衫超级可耐!

交流娱乐超级群:19800188

78

主题

5516

帖子

7

精华

论坛元老

Rank: 7Rank: 7Rank: 7

积分
5963

优秀会员勋章

QQ
金钱
54
存款
42834
 楼主| 发表于 2010-3-22 01:11 | 显示全部楼层
欢迎大家交作业哈,其实很简单的哦,一图一歌就是一帖了哦,还可以家动画的哈,偶的是加了一个FLASH的哈,这里偶米介绍的哈,说的太多了就晕了,喜欢的朋友们可以自己家的哈,不会的可以加偶Q群询问的哈
“小尘牌”布衫超级可耐!

交流娱乐超级群:19800188

57

主题

842

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1107
QQ
金钱
991
存款
0
发表于 2010-3-22 08:42 | 显示全部楼层
学习一下公主的教程

4

主题

478

帖子

0

精华

高级会员

Rank: 4

积分
507
金钱
534
存款
0
发表于 2010-3-22 08:56 | 显示全部楼层
飞舞公主 你太棒了 教教俺吧 俺也要学

78

主题

5516

帖子

7

精华

论坛元老

Rank: 7Rank: 7Rank: 7

积分
5963

优秀会员勋章

QQ
金钱
54
存款
42834
 楼主| 发表于 2010-3-22 09:03 | 显示全部楼层
问好苹儿  海港
这个教程自己感觉有些前后颠倒,顺序很乱,我是想到哪就做到哪的
“小尘牌”布衫超级可耐!

交流娱乐超级群:19800188

0

主题

553

帖子

0

精华

高级会员

Rank: 4

积分
535
金钱
351
存款
0
发表于 2010-3-22 09:15 | 显示全部楼层
公主辛苦了,做这么好的教程
guest
welcomelogin
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表