Flash AS3用于读取LRC同步歌词的类

所属分类: 媒体动画 / Flash教程 阅读数: 72
收藏 0 赞 0 分享
今天心情不错,用FLASH写了一个用于读取LRC同步歌词的类,只要25行代码,完全用是用FLASH的字符串操作来分析标签的。
下面就是这个类:

package LRC{
public class readlrc {
public function readlrcastime(mp3playtime:Number,gc:String):String {
var qsd:int;//起始点
var fhz:String;
for (var j:int=0; j < gc.length; j ) {
if (gc.charCodeAt(j) == 58) {
if (int(gc.slice(j - 2,j)) * 60 int(gc.slice(j 1,j 3)) == mp3playtime) {
var i:int=0;
do {
i ;
if (gc.charCodeAt(j i) == 93) {
qsd=j i;
}
if (gc.charCodeAt(j i) == 13) {
fhz=gc.slice(qsd 1,j i);
}
} while (gc.charCodeAt(j i) != 13&&j i<gc.length);
}
}
}
return fhz;
}
}
}
将此文件保存为readlrc.as。
注意:一定要把此AS文件放入一个名为LRC的文件夹中,才可以使用。
下面就用一个小示例来说明如何用这个类,新建一个AS文件,写入以下代码:

package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.system.System;
import flash.text.TextField;
import LRC.readlrc;
public class mp3 extends MovieClip {
private var lrcreq:URLRequest=new URLRequest("日不落.lrc");
private var mp3url:URLRequest=new URLRequest("日不落.mp3");
private var mymp3:Sound=new Sound();
private var channel:SoundChannel=new SoundChannel();
private var lrcurl:URLLoader=new URLLoader();
private var tbgc:String;
private var mylrc:readlrc=new readlrc();
System.useCodePage=true;
public function mp3() {
mymp3.load(mp3url);
channel=mymp3.play();
lrcurl.load(lrcreq);
lrcurl.addEventListener(Event.COMPLETE,loaded);
}
private function enterframe(event:Event) {
try {
gc_txt.text=mylrc.readlrcastime(int(channel.position/1000),tbgc);
} catch (error:Error) {
//
}
}
private function loaded(event:Event) {
tbgc=String(event.target.data);
addEventListener(Event.ENTER_FRAME,enterframe);
}
}
}
保存此文件为mp3.as。
写完后,我们还需要一个FLA文件来编译这些代码,新建一个FLA文件,名字随意,在场景中拖出一个动态文本域,实例名称填写gc_txt,在FLA文件的文档类中填写mp3,将此FLA文件与mp3.as文件,日不落.mp3文件,日不落.lrc文件和名为LRC的文件夹放入同一个目录下,测试影片,就可以看到效果了。

更多精彩内容其他人还在看

flash怎么绘制一个按笔画写出来的春字动画?

flash怎么绘制一个按笔画写出来的春字动画?flash中想要制作一个写出来的文字动画小狗哦,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么定位图元? flash图元的三种定位方法

flash怎么定位图元?flash中很多朋友为了定位图元而烦恼,位置的对齐涉及到两个概念,注册点和变形点,下面我们就来看看flash图元的三种定位方法,需要的朋友可以参考下
收藏 0 赞 0 分享

FLASH怎么给透明按钮添加播放代码?

FLASH怎么给透明按钮添加播放代码?FLASH中国想要给按钮赋予一些功能,比如播放功能,该怎么办呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Flash怎么制作滚动的方块GIF动画?

Flash怎么制作滚动的方块GIF动画?Flash中想要制作一个动画,今天我们就来看看比较简单的实例动画,就是一个滚动的方块,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么给图片制作伸缩动画效果?

flash怎么给图片制作伸缩动画效果?flash中想要给图片添加一些动态显示效果,该怎么制作伸缩的动画效果呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash文件中的图片怎么替换?

flash文件中的图片怎么替换?flash文件中想要替换某一张图片,该怎么替换呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么使用绘图工具?

flash怎么使用绘图工具?flash中想要绘制图形,需要使用绘图工具,今天我们就来看看flash中绘图工具的使用方法,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么画月牙和云朵图形?

flash怎么画月牙和云朵图形?flash中想要画一个月亮和云朵组成的图,该怎么绘制呢?下面我们就来看看详细的画法,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么给图片添加聚光灯照射效果?

flash怎么给图片添加聚光灯照射效果?flash中想要给图片添加聚光灯效果,这样方便聚焦一个人物,该怎么实现呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么制作一段写字动画?

flash怎么制作一段写字动画?flash中想要制作一段毛笔写字的动画,该怎么制作呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多