天天看點

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

}

}