2009-06-28 17 views

Respuesta

4

No responde su pregunta explícitamente, pero hay una serie de reproductores FLV de código abierto en la naturaleza. Me acercaría al problema agarrando uno de esos y viendo cómo manejan el video.

FPlayer sería un excelente punto de partida. Here is the class que está haciendo el trabajo. Es bastante sencillo, pero usar un proyecto como este probablemente le ahorrará tiempo.

Este fragmento debe hacer el truco en un hueso extremadamente desnuda 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

Gracias. Pero ... Sí ... Realmente no respondí mi pregunta :) – roosteronacid

+0

agregó un fragmento de código. –

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

Como subha señaló, su hacer uso de la clase NetStream ... sin embargo, que la clase en particular, es bastante difícil de trabajar, y muy poco coherente con el resto del lenguaje ...

Le recomiendo encarecidamente que utilice alguna biblioteca, clase o componente t o envuélvelo. El componente FLVPlayback en Flash (sin máscaras), en contraste con todos los otros componentes incorporados en Flash, es realmente directo y muy fácil de usar;)

2

Para hacer esto localmente, corte y pegue el siguiente código en el primer cuadro de tu archivo flash. Por supuesto, cambie el nombre al final.

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"); 
Cuestiones relacionadas