查文庫>歌詞> 用於讀取LRC同步歌詞的類

用於讀取LRC同步歌詞的類

用於讀取LRC同步歌詞的類

  今天心情不錯,用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的資料夾放入同一個目錄下,測試影片,就可以看到效果了。