• AS3 音乐播放进度条


     1 package{ 
     2     //导入包 
     3     import flash.display.Sprite;
     4     import flash.events.Event;
     5     import flash.media.Sound;
     6     import flash.media.SoundChannel;
     7     import flash.net.URLRequest;
     8     import flash.text.TextField; 
     9     //创建文档类 
    10     public class ABC1008 extends Sprite { 
    11         //定义属性 
    12         private var len:Number; 
    13         private var po:Number; 
    14         private var song:SoundChannel; 
    15         private var sp1:Sprite 
    16         private var sp2:Sprite 
    17         private var txt:TextField 
    18         //定义要加载的文件路径,注意,此路径要相对于SWF文件的目录 
    19         private var url:String="zbc.mp3"; 
    20         //创建Sound类实例 
    21         private var mysound:Sound=new Sound(); 
    22         //构造函数 
    23         public function ABC1008() { 
    24             //创建URL连接 
    25             var request:URLRequest=new URLRequest(url); 
    26             //注册加载完成事件 
    27             mysound.addEventListener(Event.COMPLETE,completeHandler); 
    28             //加载文件 
    29             mysound.load(request); 
    30             //创建一个背景显示对象 
    31             sp1=new Sprite(); 
    32             sp1.graphics.beginFill(0xff0000); 
    33             sp1.graphics.drawRect(0,0,300,20); 
    34             sp1.graphics.endFill(); 
    35             addChild(sp1); 
    36             sp1.x=50; 
    37             sp1.y=100; 
    38             //创建一个用于缩放的显示对象,通过缩放表示进度值 
    39             sp2=new Sprite(); 
    40             sp2.graphics.beginFill(0xffff00); 
    41             sp2.graphics.drawRect(0,0,298,18); 
    42             sp2.graphics.endFill(); 
    43             addChild(sp2); 
    44             sp2.x=51; 
    45             sp2.y=101; 
    46             //创建一个动态文本,用于在其中不断显示当前的进度 
    47             txt=new TextField() 
    48             txt.text="当前播放进度为:" 
    49             txt.x=50 
    50             txt.y=120 
    51             txt.width=300 
    52             addChild(txt) 
    53         } 
    54         //创建加载完成事件侦听函数 
    55         private function completeHandler(event:Event):void { 
    56             //加载完成,开始播放 
    57             song=mysound.play(); 
    58             //获取当前声音文件的长度 
    59             len=mysound.length; 
    60             //加入帧循环事件,逐帧计算播放进度 
    61             addEventListener(Event.ENTER_FRAME,onenterframe); 
    62         } 
    63         //创建逐帧计算和显示进度事件处理函数 
    64         private function onenterframe(evt:Event):void { 
    65             //获取当前播放头所对应的音频文件长度 
    66             po=song.position; 
    67             //计算进度比值 
    68             var per:Number=po/len; 
    69             //缩放显示对象sp2,实现进度显示 
    70             sp2.scaleX=per 
    71             //计算进度百分比 
    72             var percent:Number=Math.floor(per*10000)/100 
    73             //文本显示进度 
    74             txt.text="当前播放进度为:"+percent+"%" 
    75         } 
    76     } 
    77 } 
  • 相关阅读:
    ssd的BUG
    ImportError: No module named lmdb
    GPU卡掉卡
    mobileeye
    caffe convert mxnet
    学前书单-百科
    捉襟见肘
    caffe+opencv3.3.1
    ipython notebook开通远程
    到底什么是故事点(Story Point)?
  • 原文地址:https://www.cnblogs.com/Hunter-541695/p/9753874.html
Copyright © 2020-2023  润新知