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);


}
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值