天天看点

as3实现一个简单的flv视频播放器

这也是很久以前写的了,为了备份一下,就放上这里来了,供需要的可以参考参考!第二次写以后写得比第一次正确多了;感觉也不错!

package {

//导入可视类

import flash.display.Sprite;

//导入网络类

import flash.net.URLRequest;

import flash.display.Loader;

import flash.display.LoaderInfo;

//导入进度类

import flash.events.Event;

import flash.events.ProgressEvent;

//导入文本类

import flash.text.TextField;

//导入控件类

import fl.controls.List;

//导入绘画类

import flash.display.Shape;

//导入坐标类

import flash.geom.Point;

//导入影片剪辑类

import flash.media.SoundMixer;

import flash.display.MovieClip;

public class mtvplay3 extends Sprite {

private var mtvurl:URLRequest;

private var loader:Loader;

private var urlarray:Array;

private var mtvname:Array;

private var shipinurl:String;

public function mtvplay3() {

go()

kaishi();

}

function go(){

shipinurl="http://podmedia.imhb.cn/uploadpodmedia/2009/4/26/20090426204646_52535.swf"}

function kaishi() {

var rect:Shape = new Shape();

rect.graphics.beginFill(0xFFFFFF);

rect.graphics.drawRect(mtvshipin.x,mtvshipin.y, mtvshipin.width,mtvshipin.height);

rect.graphics.endFill()

;//取得点击list组件的data的值所对应的urlarray数组的值(也就是为了得出视频的地址)

mtvurl=new URLRequest(shipinurl)

;

addChild(rect);

loader=new Loader()

;

loader.load(mtvurl);

loader.x=mtvshipin.x;//其中mtvshipin是一个影片剪辑的实例名称//

loader.y=mtvshipin.y;

loader.scaleX=0.5;

loader.scaleY=0.5;

loader.mask=rect

;

addChild(loader);

urlarray=new Array("http://podmedia.imhb.cn/uploadpodmedia/2009/4/26/20090426204646_52535.swf","http://q.yesky.com/uploads/attachments/2009-03/21/wd9nmvj7.swf","http://q.yesky.com/uploads/attachments/2009-03/23/p4unn736.swf","http://podmedia.imhb.cn/uploadpodmedia/2009/1/5/20090105102626_13049.swf","http://hzy.52hzy.com/pass/UploadFile/20094379318785.swf","http://q.yesky.com/uploads/attachments/2009-03/23/n0lp8rj0.swf","http://q.yesky.com/uploads/attachments/2009-03/28/3rj61zf4.swfhttp://q.yesky.com/uploads/attachments/2009-03/28/3rj61zf4.swf","http://q.yesky.com/uploads/attachments/2009-03/24/mocyrj49.swf","http://q.yesky.com/uploads/attachments/2009-03/22/261l7r5b.swf","http://q.yesky.com/uploads/attachments/2009-03/25/2z6d4s66.swf","http://qimg.yesky.com//uploads/attachments/2009-05/03/ea0jj7c8.swf","http://q.yesky.com/uploads/attachments/2009-03/27/h0n3s44s.swf","http://q.yesky.com/uploads/attachments/2009-04/22/7ae4xre6.swf","http://q.yesky.com/uploads/attachments/2009-04/15/r485a56c.swf","http://imggz.jpg.name/hjdwjjwrrhhvthhyjwytwsjhzvvvhzdzrywsv.swf","http://csyhf.blog.enorth.com.cn/attachment/flash/613571.swf","http://q.yesky.com/uploads/attachments/2009-05/04/1kwj9npk.swf","http://q.yesky.com/uploads/attachments/2009-03/25/f8t9v9kv.swf","http://q.yesky.com/uploads/attachments/2009-04/27/67j2arg9.swf","http://podmedia.imhb.cn/uploadpodmedia/2009/3/12/20090312115858_29829.swf");

mtvname=new Array("爱上你这样的女人 ","其实我很在乎你 ","第一次牵你的手","真爱 ","只要真心爱过","我和草原有个约定","心在跳情在烧 ","一帘幽梦 ","一万个理由 ","陪你一起看草原 ","第一千滴泪 ","花开花落 ","其实你不懂我的心","我是真的爱你 ","爱我就不要伤害我","军歌声声 ","爱上你是一种流泪的幸福 ","梦一场空一场痛一场","下辈子再做你的女人","舞曲 ");

for (var i:int=0; i<urlarray.length; i++) {

mtvliebiao.addItem({label:mtvname[i],data:i});

}//把mtvname数组的所有值加到list组件中去

mtvliebiao.addEventListener(Event.CHANGE,selectmtv);//mtvliebiao是List组件的实例名

}

public function selectmtv(e:Event) {

loader.unload()

removeChild(loader)

SoundMixer.stopAll()

shipinurl=urlarray[e.target.selectedItem.data]

kaishi()

shipinurl=urlarray[e.target.selectedItem.data]

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,complete);

loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progress);

}

public function progress(e:ProgressEvent) {

jindu.text=String(int(e.bytesLoaded/e.bytesTotal*100))+"%" ;

}//jindu是动态文本框的实例名

public function complete(e:Event) {

}

}