2009-06-28 31 views

回答

4

沒有明確地回答你的問題,但有一些開源FLV播放器在野外。我會通過抓住其中一個來解決問題,並看到他們如何處理播放視頻。

FPlayer將是一個很好的起點。 Here is the class正在做這項工作。這是相當直接的,但使用這樣的項目可能會爲您節省一些時間。

該段應做的伎倆在一個非常裸露的骨頭時尚:

var vid:Video = new Video(320, 240); 
addChild(vid); 

var nc:NetConnection = new NetConnection(); 
nc.connect(null); 

var ns:NetStream = new NetStream(nc); 
vid.attachNetStream(ns); 

var listener:Object = new Object(); 
listener.onMetaData = function(evt:Object):void {}; 
ns.client = listener; 

ns.play("externalVideo.flv"); 

from here

+0

謝謝。但是..是的..沒有真正回答我的問題:) – roosteronacid 2009-06-29 00:23:48

1
var video:Video = new Video(); 
addChild(video); 

var nc:NetConnection = new NetConnection(); 
nc.connect(null); 

var ns:NetStream = new NetStream(nc); 
ns.client = {}; 
ns.client.onMetaData = ns_onMetaData; 
ns.client.onCuePoint = ns_onCuePoint; 
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv"); 

video.attachNetStream(ns); 

function ns_onMetaData(item:Object):void { 
    trace("metaData"); 
    // Resize video instance. 
    video.width = item.width; 
    video.height = item.height; 
    // Center video instance on Stage. 
    video.x = (stage.stageWidth - video.width)/2; 
    video.y = (stage.stageHeight - video.height)/2; 
} 

function ns_onCuePoint(item:Object):void { 
    trace("cuePoint"); 
    trace(item.name + "\t" + item.time); 
} 
1

由於薩卜哈指出,其使用NetStream類完成......然而,班特別是很難合作,並與其他語言非常不相關...

我強烈建議你使用一些庫,類或組件t把它包起來。與Flash中所有其他內置組件相比,Flash中的FLVPlayback組件(沒有任何外觀)非常簡單易用;)

2

要在本地執行此操作 - 剪切並粘貼以下代碼在你的Flash文件的第一幀。當然,最後更改名稱。

stage.displayState = StageDisplayState.FULL_SCREEN; 

var connection:NetConnection = new NetConnection(); 
var stream:NetStream; 
var video:Video = new Video(1280,960); 
var metaObj:Object = new Object(); 

function onMetaData(data:Object):void 
{ 

} 

connection.connect(null); 
stream = new NetStream(connection); 
stream.client = metaObj; 
metaObj.onMetaData = onMetaData; 
video.attachNetStream(stream); 
addChild(video); 
stream.play("name_of_flv.flv"); 
video.x = 0; 
video.y = 0; 
0
var flvPlaceHolder:MovieClip = new MovieClip();  

var vid:Video = new Video(320, 240); 
flvPlaceHolder.addChild(vid); 
addChild(flvPlaceHolder); 
flvPlaceHolder.x = stage.stageWidth/2-vid.width/2; 
flvPlaceHolder.y = stage.stageHeight/2-vid.height/2; 

var nc:NetConnection = new NetConnection(); 
nc.connect(null); 

var ns:NetStream = new NetStream(nc); 
vid.attachNetStream(ns); 

var listener:Object = new Object(); 
listener.onMetaData = function(evt:Object):void {}; 
ns.client = listener; 

ns.play("mario.flv");