• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 时代互联
  • 中国红网
  • 中资源!
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 美工设计 >> FLASH教程 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • Flash入门教程:滚动字幕动画..
  • Flash AS 教程:多种图片切换..
  • Flash教程:单选题的制作
  • Flash教程:引导线制作爱心图..
  • SWFText轻松制作Flash贺卡
  • loading制作Loading预载动画..
  • Flash+XML写的个类似韩国菜单..
  • Flash AS教程:旋转立方体
  • Flash8实例教程:绘制中国风..
  • Flash中如何显示清晰的字体
  • Flash教程:用鼠标控制图片移..
  • 给Flash初学者的几点建议
  • Flash8模糊滤镜绘制逼真青翠..
  • Flash教程:花吃蝴蝶的动画演..
  • Flash教程:制作天空中流星划..
  • Flash CS3制作Fla形式的组件
  • Flash教程:制作文字波动视觉..
  • 全Flash动画网站的实现详细教..
  • 方便的Flash文字特效制作工具..
  • Flash中作毛笔写字动画效果
 
 

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

  • 日期:2008-06-03     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

今天心情不错,用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 as3:绝对坐标与相对坐标
  • Flash AS 教程:子类化显示对象
  • Flash AS 教程:交互动画
  • Flash AS 教程:动画事件
  • Flash AS 教程:帧循环
  • Flash AS 教程:创建文档类(Document class)
  • Flash游戏开发教程:第一节
  • 关于XML在FLASH中的应用
  • FLASH中的元件能在Flex中完美使用
  • Windows桌面可以设置为漂亮的Flash
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息  提供服务器及带宽赞助