`
ljz0898
  • 浏览: 222531 次
  • 性别: Icon_minigender_1
  • 来自: 海南海口
社区版块
存档分类
最新评论

as3实现视频,音乐播放器

阅读更多
这些都是很久以前写的了,为了备份就贴上来了,供需要的可以参考参考!这是我第一次学as的时候写得代码,一下子写了400百行,虽然写得很乱(尤其是类的整理方面),感觉还不错,懂的很多!
下面就是我的代码:
package {

    import flash.display.Sprite;
    import flash.display.MovieClip;
    import flash.net.URLRequest;
    import flash.display.Shape;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.display.SimpleButton;
    import flash.events.Event;
    import flash.events.ProgressEvent;
    import flash.net.FileReferenceList;
    import flash.events.MouseEvent;
    import flash.media.SoundLoaderContext;
    import flash.text.TextField;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.geom.Rectangle;
    import flash.media.SoundTransform;
    import flash.utils.ByteArray;
    import flash.display.Graphics;
    import flash.media.SoundMixer;
    import flash.net.FileFilter;
    import flash.display.Loader;

    public class bofangqi6 extends Sprite {
        private var liebiao:Array=["坐火车去拉萨-韩红","你的承诺-海鸣威","水中花-谭咏麟","一场游戏一场梦-王杰","感动天感动地-宇桐","一生中最爱-谭咏麟","天若有情-胡彦斌","诀别诗-胡彦斌","三生三世-陈瑞","愿望-胡彦斌","我的未来不是梦-张雨生","等一分钟-胡彦斌","漫步人生路-邓丽君","想太多-李玖哲","我们的纪念-李雅微","有没有告诉你-陈楚生","突然的自我-伍佰","擦肩而过-宇桐非","没有你我很孤单-刘佳","天使-五月天"];
        private var url1:Array=["http://itv.chinatibetnews.com/asset/category3/2008/07/29/asset_654.mp3","http://video1.smgbb.cn/radio101/%E6%B5%B7%E9%B8%A3%E5%A8%81%26%E6%B3%B3%E5%84%BF-%E4%BD%A0%E7%9A%84%E6%89%BF%E8%AF%BA.mp3 ","http://www.zqzyxx.com/up/2007_04_05/a128105389126093750a.mp3","http://blog.5d.cn/05.mp3","http://mu.baidu.com/upload/experience/jGBwjebwEc0cEwSw.mp3","http://www-rcf.usc.edu/~lanlanwa/music/yszza.mp3","http://www.hdgyxx.com/Files/mp3/胡彦斌/天若有情.mp3","http://wyu73.cn/music/1.mp3","http://bbs.yyjxkj.com/upfile/angel/3sheng3shi/3s3s.mp3","http://baidump3.huaxiayinyuet.cn/1/106528.mp3","http://www.cr100.cn/study/03.mp3","http://www.huangxinxin.com/blog/upload/zaidengyifenzhong.MP3","http://61.156.7.31/upload/upload/50566.mp3","http://www.jlzgyd.com/music/589.mp3","http://www.wasq.net//music/我们的纪念.mp3","http://lqyy.cnlu.net/UploadFile/2008-3/20083180427531.mp3","http://haomusic.newpopyy.cn/1/70825.mp3","http://mp3.chazhan.net/dj/ms/qd/擦肩而过.mp3","http://mp3ge.cnmusicc.com.cn/ik/jlmrkp.mp3","http://52ting.sohomusicbox.cn/3/141754.mp3"];
        private var movic:Array=["http://219.138.163.43/divide_part_28/2EFA0C85352B0D48F4526B302A487942716E273E.wmv","http://s7.edmin.cn/s72/5fc26ee903ad2e7f8bcb832bfc1601bd.swf","http://q.yesky.com/uploads/attachments/2009-03/28/ri0bs95r.swf ","http://v2.edmin.cn/c/bc654e530247bbe2a132a746db7292f0.swf","http://v2.edmin.cn/c/bc654e530247bbe2a132a746db7292f0.swf","http://swf.vip.flashyc.com/Upload/2007-10-14/171927906.swf","http://q.yesky.com/uploads/attachments/2009-03/21/416ryy7u.swf","http://swf.vip3.flashyc.com/Upload/swf/nihao/154718894.swf","http://216.86.150.60/videos/0/772854_ea75a.swf","http://yyzq.vip.flashyc.net/upload/谁让我爱上你.swf","http://bbs.lnd.com.cn/UploadFile/2007-12/20071266184560591.swf","http://vip.flash34.com/flashfile//swfs/2009/4/20090401123557_50602.swf","http://s7.edmin.cn/s72/ab4ee47f56cb1004dd2e33844e85b9eb.swf ","http://s7.edmin.cn/s72/f5652e7030d2efa8d18ccb8a05fec0b4.swf"];
        private var movic2:Array=["我和草原有个约定","情义无价","其实我很在乎你","故乡的情","为什么相爱的人不能在一起","可怜天下父母心","今宵多珍重","今天你要嫁给我了","谁让我爱上你","手心里的温柔","天路","女儿情","今生难得有情人"];

        private var sound:Sound;
        private var loading:Loader;
        private var soundchannel:SoundChannel;
        private var wen:Number;
        private var index:uint=0;
        private var position1:Number=0;
        private var fr1:FileReferenceList;
        private var trans:SoundTransform;
        private var stopall:SoundMixer;
        private var songs:Array=[];
        private var s:String;
        private var shengyin:SoundMixer;
        private var yixuanzhe:Boolean=false;


        var fw:Rectangle;
        var fw1:Rectangle;
        public function bofangqi6() {


            trans=new SoundTransform();
            var zuo:int=bofangtiao.x;
            var shang:int=xiaoqiu.y;
            var you:int=bofangtiao.width-xiaoqiu.width;
            var xia:int=0;
            fw =new Rectangle(zuo,shang,you,xia);
            xiaoqiu.buttonMode=true;
            var zuo1:int=shengyintiao.x;
            var shang1:int=shengyinkuai.y;
            var you1:int=shengyintiao.width-shengyinkuai.width;
            var xia1:int=0;
            fw1=new Rectangle(zuo1,shang1,you1,xia1);
            shengyinkuai.buttonMode=true
            ;
            playnext();
            for (var j:uint=0; j<liebiao.length; j++) {
                gequliebiao.addItem({label:liebiao[j],data:j});
            }
            gequliebiao.addEventListener(Event.CHANGE,changed);
            stage.addEventListener(Event.ENTER_FRAME,wutai);
            next1.addEventListener(MouseEvent.CLICK,nextd);
            before.addEventListener(MouseEvent.CLICK,befored);
            first1.addEventListener(MouseEvent.CLICK,firstd);
            mtv.addEventListener(MouseEvent.CLICK,bofang);

            stop1.addEventListener(MouseEvent.CLICK,stop1d);
            open1.addEventListener(MouseEvent.CLICK,opend);
            play1.addEventListener(MouseEvent.CLICK,play1d);
            xiaoqiu.addEventListener(MouseEvent.MOUSE_DOWN,hkax);//按下
            xiaoqiu.addEventListener(MouseEvent.MOUSE_UP,hksk);//
            shengyinkuai.addEventListener(MouseEvent.MOUSE_DOWN,shengyinxia);
            shengyinkuai.addEventListener(MouseEvent.MOUSE_UP,shengyinshang);
            bendi.visible=false;
            mtvmoban.visible=false;

            mc.visible=false;
            line.visible=false;
            per.visible=false;

            bendi.addEventListener(Event.CHANGE,changed2);
            mtvmoban.addEventListener(Event.CHANGE,xuanzhemtv);

        }
        function hkax(e:MouseEvent) {
            xiaoqiu.startDrag(true,fw);
            soundchannel.stop();
        }
        function hksk(e:MouseEvent) {

            xiaoqiu.stopDrag();
            position1=xiaoqiu.x*sound.length/480;
            soundchannel=sound.play(position1)
            ;
        }
        function shengyinxia(e:MouseEvent) {
            shengyinkuai.startDrag(false,fw1);

            trans.volume=int(shengyinkuai.x)/50;
            soundchannel.soundTransform=trans;
        }
        function shengyinshang(e:MouseEvent) {
            shengyinkuai.stopDrag();


        }
        function changed(e:Event) {
            index=e.target.selectedItem.data;
            gequming.text=e.target.selectedItem.label
            ;
            stop1d( new  MouseEvent(""));
            playnext();
        }
        function playnext() {
            if (index>=liebiao.length) {
                index=0;
            } else if (index<0) {
                index=liebiao.length-1;
            }
            sound=new Sound();
            var url:URLRequest=new URLRequest(url1[index]);
            var context:SoundLoaderContext=new SoundLoaderContext(8000,true);
            sound.load(url,context);
            soundchannel=sound.play();
            soundchannel.addEventListener(Event.SOUND_COMPLETE,completeover);
        }
        function completeover(e:Event) {
            index++;
            playnext();
        }
        function befored(e:MouseEvent) {
            stop1d(new MouseEvent(""));
            index--;
            playnext();
        }
        function stop1d(e:MouseEvent) {
            position1=soundchannel.position;
            soundchannel.stop();
            soundchannel=sound.play(0);
            soundchannel.stop();
        }
        function nextd(e:MouseEvent) {
            stop1d(new MouseEvent(""));
            ++index;
            playnext();
        }
        function wutai(e:Event) {
            var now:Date=new Date();
            huanchong.text=(int(sound.bytesLoaded/sound.bytesTotal*100)+"%");
            yibofang.text=timeTo(soundchannel.position);
            zongshijian.text=timeTo(sound.length);
            shijian.text=date();
            var hour=now.getHours();
            var minutes=now.getMinutes();
            var second=now.getSeconds();
            shijian3.text=(String(hour) + ":" + String(minutes) + ":" + String(second));
            nihao(hour);
            xiaoqiu.x=soundchannel.position/sound.length*480;
            drawWave(seleWave.selected);
        }
        function drawWave(flag:Boolean):void {
            var height1:Number=60;
            var width1:Number=120;
            var bytes:ByteArray=new ByteArray();
            SoundMixer.computeSpectrum(bytes,flag,0);
            var base=flag?0:-30;
            var g:Graphics=this.boxingpu.graphics;
            g.clear();
            g.moveTo(0,base);
            var u:Number=0;
            g.beginFill(0x6600cc);
            g.lineStyle(0,0x6600cc);
            for (var q:uint=0; q<width1; q++) {
                u=(bytes.readFloat()*height1);
                g.lineTo(q*2,base-u);
            }
            g.lineTo(width1*2,base);
            g.endFill();
            g.lineStyle(0,0xcc0066);
            g.beginFill(0xcc0066);
            g.moveTo(0,60+base);
            for (q=0; q<width1; q++) {
                u=(bytes.readFloat()*height1);
                g.lineTo(q*2,60+base-u);
            }
            g.lineTo(width1*2,60+base);
            g.endFill();

        }
        function nihao(wen) {
            if (wen>=0 && wen <6) {
                wenhao.text="夜深了!注意身体";
            } else if (wen>=6 && wen<12) {
                wenhao.text="朋友!早上好";
            } else if (wen>=12 && wen <18) {
                wenhao.text="朋友!下午好";
            } else if (wen>=18 && wen<24) {
                wenhao.text="朋友!晚上好";
            }
        }
        function date() {
            var now:Date=new Date();
            var day=now.getDay();
            var shijian2:Array=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
            var b:String=String(shijian2[day]);
            return b;
        }
        function timeTo(n:uint):String {
            var hm:uint=n%1000;
            var m:uint=n/1000;
            var f:uint=m/60;
            m=m%60;
            return String(100 + f).substr(1,2) + ":" + String(100 + m).substr(1,2) + "." + String(hm);
        }
        function firstd(e:MouseEvent) {
            stop1d(new MouseEvent(""));
            soundchannel=sound.play(0);
        }
        function opend(e:MouseEvent) {
            fr1=new FileReferenceList();
            fr1.addEventListener(Event.SELECT,selectfiles);
            fr1.browse([new FileFilter("MP3文件 (*.mp3)","*.MP3")]);


        }
        function selectfiles(e:Event) {

            bendi.visible=true;
            mtvmoban.visible=false;

            mc.visible=false;
            line.visible=false;
            per.visible=false;

            for (var i:uint; i<e.target.fileList.length; i++) {
                songs.push(e.target.fileList[i].name);
                bendi.addItem({label:songs[i],data:i});

            }
        }
        function changed2(e:Event) {
            soundchannel.stop();
          
            for (var i:uint=0; i<songs.length; i++) {
                if (e.target.selectedItem.data==i) {
                    var you:String=songs[i];
                    var url:URLRequest=new URLRequest(you);
                    sound.load(url);
                    soundchannel=sound.play();

                }
            }
        }
        function play1d(e:MouseEvent) {
            stop1d(new MouseEvent(""));
            soundchannel=sound.play(position1);
        }
        function bofang(e:MouseEvent) {
            soundchannel.stop();
            gequliebiao.visible=false;
            bendi.visible=false;
            mtvmoban.visible=true;

            loading=new Loader();
            for (var i:uint=0; i<movic2.length; i++) {
                mtvmoban.addItem({label:movic2[i],data:i});
            }
        }
      
        function xuanzhemtv(e:Event) {
            SoundMixer.stopAll()
            var weizhi:uint=e.target.selectedItem.data;
            s=movic[weizhi];
            var url:URLRequest=new URLRequest(s);
            mc.visible=true;
            line.visible=true;
            per.visible=true;
            loading.load(url);
            loading.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,prothd);
            loading.contentLoaderInfo.addEventListener(Event.COMPLETE,completed2);
        }
        function prothd(e:ProgressEvent) {

            per.text=String(int(e.bytesLoaded/e.bytesTotal*100))+"%";
            mc.scaleX=e.bytesLoaded/e.bytesTotal
            ;
        }
        function completed2(e:Event) {
          
            mc.visible=false;
            line.visible=false;
            per.visible=false;
            loading.x=zhongjian.x;
            loading.y=zhongjian.y;
            loading.scaleX=0.75;
            loading.scaleY=0.6;
            var rect:Shape = new Shape();
            rect.graphics.beginFill(0xFFFFFF);
            rect.graphics.drawRect(zhongjian.x,zhongjian.y, zhongjian.width,zhongjian.height);
            addChild(rect);
            loading.mask = rect;
            addChild(loading);


        }
    }
分享到:
评论

相关推荐

    Android Studio实现多媒体播放器,音乐视频一体化,功能强大,UI美观,满分课设!

    本期带来的多媒体播放器,可以同时享受听音乐和看视频的乐趣,融合了音乐播放器和网络视频播放器,并且进行完善优化。相对上一版本有以下提升:将资源文件与项目文件独立分开,放在本地Tomcat服务器中进行访问。增加...

    C#+WinForm视频播放器(AxWindowsMediaPlayer) C# 源代码

    功能:使用Windows Media Player播放音乐,视频,支持 WAV、MID、MP3、MPG、AVI、ASF、WMV、RM、RMVB等文件。 技术:C# + WinForm 版本:Microsoft Visual Studio 2008 上开发 实现功能: 1.选择文件播放 2.设置...

    硬件加速视频播放器 DicePlayer v20813211

    DICE Player是一款功能强悍的视频/音频播放器,它支持播放速度控制,支持网络流媒体,还支持硬件加速,软解码/硬解码样样齐全,而且DICE Player的硬解码是通过解析视频文件的编码格式而不是文件格式的,所以即使是...

    C#实现视频播放Windows Media Player源代码(最好用)

    功能:使用Windows Media Player播放音乐,视频,支持 WAV、MID、MP3、MPG、AVI、ASF、WMV、RM、RMVB等文件。 技术:C# + WinForm 版本:Microsoft Visual Studio 2008 上开发 实现功能: 1.选择文件播放 2.设置...

    利用Broadcast及相关组件实现简易音乐播放器功能

    在Andriod Studio中使用Broadcast实现了简易音乐播放器的功能。可以进行播放、暂停、歌曲切换的功能。效果如下图: 由于无法上传视频,故展示GIF,没有音乐播放 项目源码 已发布至gitee 准备工作 新建assets文件夹,...

    来自韩国的影音全能播放器 KMPlayer 4.2.2.45 x64 中文多语免费版.zip

    GUI 界面~安装电视卡后可以直接代替原软件直接收看电视~支持播放 DVD/VCD 以及绝大多数电脑的媒体文件(AVI 支持 Xvid/DivX/3vid/H264 OGG/OGM/MKV 容器/AC3/DTS 解码~Monkey Audio 解码~)此播放器除了会将自己的...

    CMP4(在线音乐播放器) b120729

    CMP4是一款免费的在线音乐播放器,采用Flash开发。支持的音频视频格式主要...新增as3的api接口: setSoundFilter(fn:Function)设置声音过滤函数,以实现声音变调等效果 models:Object属性,返回CMP当前所有支持的模块

Global site tag (gtag.js) - Google Analytics