2009-06-28 9 views

risposta

4

Non rispondere in modo esplicito alla domanda, ma ci sono un certo numero di lettori FLV open source in natura. Mi avvicinerei al problema afferrando uno di questi e vedendo come gestiscono la riproduzione di video.

FPlayer sarebbe un ottimo punto di partenza. Here is the class che sta facendo il lavoro. È abbastanza semplice, ma l'utilizzo di un progetto come questo probabilmente ti farà risparmiare tempo.

Questo frammento di codice dovrebbe fare il trucco in un ossa nude estremamente di moda:

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

Grazie. Ma .. Sì ... In realtà non ha risposto alla mia domanda :) – roosteronacid

+0

aggiunto un frammento di codice. –

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

Come subha ha sottolineato, il suo fare utilizzando la classe NetStream ... tuttavia, quella classe in particolare è piuttosto difficile da lavorare, e molto incoerente con il resto della lingua ...

Consiglio vivamente di utilizzare qualche libreria, classe o componente t o avvolgetelo. Il componente FLVPlayback in Flash (senza skin), in contrasto con tutti gli altri componenti incorporati in Flash, è davvero semplice e facile da usare;)

2

Per eseguire questa operazione in locale, tagliare e incollare il seguente codice nel primo frame del tuo file flash. Ovviamente cambia il nome alla fine.

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"); 
Problemi correlati