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;
}
}
}
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);
}
}
}
【责任编辑: lanier】