2009-06-28 3 views

답변

4

질문에 명확하게 답변하지는 않았지만 많은 오픈 소스 FLV 플레이어가 야생에 있습니다. 나는 그 중 하나를 잡아서 그들이 비디오 재생을 어떻게 처리 하는지를 봄으로써 문제에 접근 할 것이다.

FPlayer은 훌륭한 시작점입니다. Here is the class이 작업을 수행하고 있습니다. 그것은 꽤 솔직하지만이 프로젝트를 사용하면 시간을 절약 할 수 있습니다.

매우 맨손으로 뼈의 방식으로 트릭을 할해야이 조각 : 수바 (Subha)가 지적한 바와 같이

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

+0

코드 조각을 추가했습니다. –

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 클래스를 사용하여 수행 ... 그러나, 클래스 특히 작업하기가 매우 어려우며 언어의 나머지 부분과 매우 모호합니다 ...

일부 라이브러리, 클래스 또는 구성 요소를 사용하는 것이 좋습니다 그것을 감싸 라. 플래시의 FLVPlayback 구성 요소 (스킨이없는)는 Flash의 다른 기본 제공 구성 요소와 달리 매우 간단하고 사용하기 쉽습니다.

2

로컬로 수행하려면 다음 코드를 잘라내어 붙여 넣습니다 플래시 파일의 첫 번째 프레임에 물론 끝 부분에서 이름을 변경하십시오.

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