2010-03-31 4 views
0

AS3에서 rtmp를 사용하기위한 추가 코드가 필요합니까?RTMP 및 AS 3.0 설정

나는 이와 같은 코드를 가지고 있습니다. rtmp 또는 다른 코드가 필요합니까?

var strSource:String = "rtmp://myserver.com/file.flv"; 
var ncConnection = new NetConnection(); 
var nsStream = new NetStream(ncConnection); 
nsStream.play(strSource); 

답변

3

재생중인 RTMP 스트림은 프로그레시브 스트림과 다르게 수행되어야합니다.

먼저 응용 프로그램에 연결해야합니다. 일반적으로이 경로는 기본 경로이지만 RTMP 서버가 다른 서비스를 제안 할 경우 폴더가 될 수 있습니다.

NetConnection.Connect.Success 이벤트는 NetConnection 이벤트로 전달됩니다.

일단 NetConnection이 연결되면 NetStream을 생성 한 다음 스트림을 재생할 수 있습니다.

재생 명령에 전달 된 인수는 전체 경로가 아닌 스트림의 이름이어야합니다. 일반적으로 확장 기능을 제거해야합니다 (서버 및 서비스에 따라 다름). H264 스트림의 경우 스트림 ID의 접두사 "mp4 :"가 필요할 수도 있습니다.

예 :

// rtmp://myserver.com/service/myVideo.flv 

var service:String = "rtmp://myserver.com/service/"; 
var streamID:String = "myVideo"; // or mp4:myVideo for H264 

var netConnection:NetConnection; 
var netStream:NetStream; 

netConnection = new NetConnection(); 
netConnection.client = {onBWDone:onNetConnectionBWDone}; 
netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);  
netConnection.connect(service); 

// NetConnection status handlers 

function netStatusHandler(event:NetStatusEvent):void 
{ 
    if(event.info.code == NetConnection.Connect.Success) 
    { 
     netStream = new NetStream(netConnection); 
     netStream.client = {onMetaData:onMetaData, onPlayStatus :onPlayStatus}; 
     netStream.play(streamID); 
    } 
} 

function onNetConnectionBWDone():void{} 

// NetStream Status handlers 

function onMetaData(o:Object):void{} 
function onPlayStatus(o:Object):void{} 
+0

이 게시 된 실시간 스트림에 관련된하거나 기록 스트림을 사전 있습니까? – cea

+0

이 답변은 4 살입니다. 그러나 내 마음의 맨 위에서 실시간 및 주문형 스트림은 설치 및 연결면에서 거의 같은 방식으로 작동합니다. –

+0

나는 아직도 Adobe 문서를 다룰 수있는 방법을 찾고 있습니다. 그래서 당신이 옳았기를 바랍니다. – cea