2009-06-28 64 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");