• 范文大全
  • 公文写作
  • 工作总结
  • 工作报告
  • 医院总结
  • 合同范文
  • 党团范文
  • 心得体会
  • 讲话稿
  • 安全管理
  • 广播稿
  • 条据书信
  • 优秀作文
  • 口号大全
  • 简历范文
  • 应急预案
  • 经典范文
  • 入党志愿书
  • 感恩演讲
  • 发言稿
  • 工作计划
  • 党建材料
  • 脱贫攻坚
  • 党课下载
  • 民主生活会
  • 不忘初心
  • 主题教育
  • 对照材料
  • 您现在的位置:雨月范文网 > 合同范文 > 正文

    【FLASH控制动画声音的停止和播放】动画

    来源:雨月范文网 时间:2019-09-02 点击:
    今天有闪友问到如何控制AS3中的声音问题,用下面的小实例说明:
    Flash
    /*
    As3Sound.as
    */
    package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.net.URLRequest;
    import flash.utils.Timer;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.filters.DropShadowFilter;
    public class As3Sound extends Sprite {
    private var url:String = "http://XXX.com/music/XXX.mp3";
    private var soundFactory:Sound;
    private var channel:SoundChannel;
    private var positionTimer:Timer;
    private var play_btn:Sprite;
    private var stop_btn:Sprite;
    private var d_filtersropShadowFilter=new DropShadowFilter(5,45,0x000000,80,8,8);
    //用于记录音乐现在是否为暂停状态
    private var bSoundStop:Boolean = false;
    public function As3Sound() {
    var sxl_txt:TextField = new TextField();
    sxl_txt.text="CS4中如何控制声音的播放或停止的";
    sxl_txt.autoSize=TextFieldAutoSize.LEFT;
    sxl_txt.x=stage.stageWidth/2-sxl_txt.width/2;
    sxl_txt.y=20;
    addChild(sxl_txt);
    var mp3_request:URLRequest = new URLRequest(url);
    soundFactory = new Sound();
    //成功加载数据后
    soundFactory.addEventListener(Event.COMPLETE, completeHandler);
    //在存在可用于 MP3 声音的 ID3 数据时
    soundFactory.addEventListener(Event.ID3, id3Handler);
    //加载音乐错误时
    soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    //音乐加载中...
    soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    soundFactory.load(mp3_request);
    channel = soundFactory.play();
    //音乐播放完成
    channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
    //用Timer监听音乐的播放进度
    positionTimer = new Timer(1000);
    positionTimer.addEventListener(TimerEvent.TIMER, positionTimerHandler);
    positionTimer.start();
    //创建一个按钮,用于播放音乐
    play_btn = new Sprite();
    play_btn.graphics.beginFill(0xFFCC32);
    play_btn.graphics.drawRoundRect(0, 0, 70, 18, 10, 10);
    play_btn.graphics.endFill();
    var play_txt:TextField = new TextField();
    play_txt.text = "播放";
    play_txt.x=18;
    play_btn.x=50;
    play_btn.y=100;
    play_txt.selectable = false;
    play_btn.addChild(play_txt);
    play_btn.filters=[d_filters];
    play_btn.addEventListener(MouseEvent.CLICK, soundPlay);
    addChild(play_btn);
    //创建一个按钮,用于停止音乐
    stop_btn = new Sprite();
    stop_btn.graphics.beginFill(0xFFCC32);
    stop_btn.graphics.drawRoundRect(0, 0, 70, 18, 10, 10);
    stop_btn.graphics.endFill();
    stop_btn.x=130;
    stop_btn.y=100;
    var stop_txt:TextField = new TextField();
    stop_txt.x=18;
    stop_txt.text = "暂停";
    stop_txt.selectable = false;
    stop_btn.addChild(stop_txt);
    stop_btn.filters=[d_filters];
    stop_btn.addEventListener(MouseEvent.CLICK, soundStop);
    addChild(stop_btn);
    }
    //监听音乐的播放进度
    private function positionTimerHandler(event:TimerEvent):void {
    var ybf:int = channel.position.toFixed(0);
    var zcd:int = soundFactory.length;
    var bfs:int = Math.floor(ybf/zcd*100);
    //trace("音乐总长度:"+zcd, "音乐已播放:"+ybf, "播放进度为:"+bfs+"%");
    }
    //加载音乐完成时
    private function completeHandler(event:Event):void {
    //trace("加载音乐完成: " + event);
    }
    //在存在可用于MP3声音的ID3数据时
    private function id3Handler(event:Event):void {
    //trace("音乐的ID3信息如下:");
    for (var s in soundFactory.id3) {
    //trace(" ", s, ":", soundFactory.id3[s]);
    }
    //trace("关于ID3信息介绍,请参见Sound类-->属性-->id3");
    }
    //加载音乐错误时
    private function ioErrorHandler(event:Event):void {
    //trace("加载音乐错误,错误信息如下:" + event);
    positionTimer.stop();
    }
    //加载音乐时
    private function progressHandler(eventrogressEvent):void {
    var yjz:int = event.bytesLoaded;
    var zcd:int = event.bytesTotal;
    var bfs:int = Math.floor(yjz/zcd*100);
    //trace("音乐总长度:"+zcd,"已加载: "+yjz, "加载进度为:"+bfs+"%");
    }
    //音乐播放完成
    private function soundCompleteHandler(event:Event):void {
    //trace("音乐播放完成: " + event);
    positionTimer.stop();
    }
    //点击播放按钮事件
    private function soundPlay(event:MouseEvent):void {
    if (bSoundStop) {
    bSoundStop = false;
    channel = soundFactory.play(channel.position.toFixed(0));
    }
    }
    //点击停止按钮事件
    private function soundStop(event:MouseEvent):void {
    if (!bSoundStop) {
    bSoundStop = true;
    channel.stop();
    }
    }
    }
    }

    推荐访问:停止 声音 控制 FLASH控制动画声音的停止和播放 flash怎么播放做好的动画 flash声音停止播放