以文本方式查看主题

-  动网先锋论坛  (http://2007.hnzqw.com/index.asp)
--  公共频道  (http://2007.hnzqw.com/list.asp?boardid=85)
----  [分享]试试LRC歌词同步加点效果--面壁  (http://2007.hnzqw.com/dispbbs.asp?boardid=85&id=24485)

--  作者:友情周末
--  发布时间:2007/4/16 14:02:51

--  [分享]试试LRC歌词同步加点效果--面壁
蓝屋的高档播放器,在歌词同步显示上加了效果。复杂的做不好,试试简单的。
  LS如果方便,请费心看看。
  一些说明,免得LS花冤枉时间。想让同步准一点,将时间数组以0.1秒为单位取值。结果还是不怎样。逐字同步无法做到,逐句马马虎虎,只是还有点乱,似乎什么地方反应慢了点。不管好歹,练习练习。
  因为暂停按钮的缘故,两个节目有牵扯。
  下面是这一部分的脚本,蓝本为“火山”曾与您讨论过的一个帖子(用数组处理同步歌词)。

var t1 = (labelTimeList[index + 1] - labelTimeList[index])*10;//一句歌词的时间
var t2 = labelTimeList[index]*10 - int((s.position)/10);//一句歌词的时间变化
var l = txt.length;//歌词字符串的长度
var w = (l*38 / t1) * (t1-t2);//38为一个字符的宽度,由试验定
kuai._width = 38+w;//控制歌词遮罩宽度的变化,38为初始值,按实际




--  作者:友情周末
--  发布时间:2007/4/16 14:03:49

--  
沪上老康:面壁老弟真让我刮目相看啊!
我那播放器的歌词动画是“移植”的,其脚本原理比较复杂的,除了解析控制,主要还在于营造一些位置动态效果。
老弟的脚本简而精,特别让我叫绝的是计算歌词长度与遮罩动画结合!
但我又觉得奇怪了:
动态文本对象在遮罩下会全消失,不知老弟如何用的遮罩?

--  作者:友情周末
--  发布时间:2007/4/16 14:05:23

--  
以下内容含脚本,或可能导致页面不正常的代码
说明:上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.

--  作者:友情周末
--  发布时间:2007/4/16 14:06:37

--  

沪上老康:

面壁老弟还真不错,肯折腾才会提高!
我想再说三点:
1、你说的歌词全、半角问题,确实比较麻烦,好在歌词中的字母较罕见,如果你可以编辑LRC,不妨把字母改成全角的。
2、数组清空可以有个“土办法”:
就是重新定义同样的数组,实际上是全部“摧毁”原数据中的内容!
3、关于我说的遮罩问题,你可以做个实验:
做一个动态文本对象,其中可写满任意的文字,在其上置一遮罩,把动态文本遮档一半,运行后会发现全部不见了!
这就是我说的动态文本不能用遮罩的意思。你上面的歌词显然是遮罩引起的,所以我有点不解了。


--  作者:友情周末
--  发布时间:2007/4/16 14:07:12

--  

面壁:

正在等着LS上来呢。
答1:这个方法好是好,但又有个美观的问题无法兼顾(字母用全角,好大好大,不好看。象这一句:“老康蓝屋(WWW.HSLK.COM)”)。好在不是大问题,只是全部显示的时间提前了。半角只有全角的一半宽,但计算字符宽度是按全角(一个汉字)考虑的。
答2:等下做作业。
答3:等下我试试LS讲的情况。但不知我现在做的这个与LS讲的情况是否是一回事。下层是动态文本层,上层是遮罩条层,将它们设置为遮罩关系,好象没有什么特别的地方。LS的意思是不是说,动态文本加了遮罩,不管遮没遮住,都不能显示。但现在的情况看上去蛮好的,虽不能做出逐字同步,但基本上看得过去了。

LS曾与“火山”讨论过做出同步歌词的方法,这个作业缘于此。LS是要做出自己的特点、风格,“火山”是考虑效力方面,利用LRC。我想试试能不能两者兼顾。


--  作者:友情周末
--  发布时间:2007/4/16 14:08:39

--  
 面壁:第三个问题确如LS所说。但上面做的动态遮罩也是事实。不同的地方只是一个遮罩为动态,一个为固定的。我对脚本知之甚少,对flash也如此,没法解释。
  期待LS上课。

--  作者:友情周末
--  发布时间:2007/4/16 14:09:16

--  
 面壁:非常高兴。在LS督促下,终于摸到了遮罩显示动态文本的原因。加滤镜就行了。狗戴帽子碰正了。不亦乐呼!找原因的过程与方法是最得意的地方。快乐由此而来。


--  作者:友情周末
--  发布时间:2007/4/16 14:10:17

--  

面壁:再加点花样...

报告LS,有了此前的思路,于是又加了点花样。效果不太理想,因为歌词有长短,没找到一个统一时间的办法。


--  作者:友情周末
--  发布时间:2007/4/16 14:11:48

--  

沪上老康:面壁老弟,你这一句“加了滤镜就可”,知道为我带来了什么吗?
由于动态文本的遮罩问题,我的播放器不得不做了大量的“遮丑”元件,并且,更由于播放器有“换肤”功能,每个肤色面板均要有相应的“遮丑”元件,另外,还有相应的控制脚本。
动态文本加滤镜后这个问题竟然迎刃而解!我的播放器可以为此精简许多啊!
面壁老弟是“瞎试试”发现的,那么我为什么没“瞎”试试呢?
值得检讨、总结、反省,哈哈,谢谢老弟,握手!


--  作者:友情周末
--  发布时间:2007/4/16 14:14:09

--  
来源:http://www.hslk.com/lkbbs/dispbbs.asp?boardID=14&ID=9973&page=1