0
나는 최대 10 개의 비디오를 로딩하고 그들간에 을 연속적으로 재생하면서 다중 flv 프리 로더를 개발 중입니다.onMetaData가 속한 것을 참조하는 방법
나는 10 개의 객체 배열로 비디오 플레이 객체를 만듭니다.
각각 NetStream을하고 onMetaData에있는이 10 개체 ..
내 질문은, ,
function vidPlayerMetaData(vc:Object, metaData:Object) { ... }
vc["ns"].client.onMetaData = function(metaData:Object) { vidPlayerMetaData(vc, metaData); };
이 코드를 고려 : onMetaData에 호출 할 때, 어떻게
function vidPlayerStatus (e):void
{
//trace(e.info.code);
}
function vidPlayerAsyncErrorHandler (event:AsyncErrorEvent):void
{
}
function vidPlayerMetaData (item:Object):void
{
// which object ??
}
function vidPlayerInit ():Object
{
var i;
var vp:Object=new Object();
var clip_array:Array=new Array();
vp["nc"]=new NetConnection();
vp["nc"].addEventListener(NetStatusEvent.NET_STATUS,vidPlayerStatus);
vp["nc"].connect(null);
for(i=0;i<10;i++)
{
var vc:Object=new Object();
vc["vidi"]=new Video();
vc["ns"]=new NetStream(vp["nc"]);
vc["ns"].addEventListener(AsyncErrorEvent.ASYNC_ERROR, vidPlayerAsyncErrorHandler);
vc["ns"].addEventListener(NetStatusEvent.NET_STATUS, vidPlayerStatus);
vc["ns"].client={};
vc["ns"].client.onMetaData=vidPlayerMetaData;
vc["ns"].bufferTime=0;
vc["stage"]=0;
vc["is_paused"]=0;
vc["vidi"].attachNetStream(vc["ns"]);
clip_array.push(vc);
}
vp["clip_pf"]=0;
vp["clip_array"]=clip_array;
return vp;
}
function vidPlayerLoad (str:String):int
{
var i;
for(i=0;i<10;i++)
{
if(vidPlayer["clip_array"][i].stage==0) break;
}
if(i==10) { return -1; }
vidPlayer["clip_array"][i]["vidi"].width=320;
vidPlayer["clip_array"][i]["vidi"].height=240;
stage.addChild(vidPlayer["clip_array"][i]["vidi"]);
vidPlayer["clip_array"][i]["ns"].play(str);
vidPlayer["clip_array"][i]["ns"].pause();
vidPlayer["clip_array"][i]["is_paused"]=1;
vidPlayer["clip_array"][i]["stage"]=10;
vidPlayer["clip_array"][i]["vidi"].y=(i*240);
return i;
}
function vidPlayerYield ():void
{
var i,j;
vidPlayer["clip_pf"]++;
vidPlayer["clip_pf"]%=10;
i=vidPlayer["clip_pf"];
if(vidPlayer["clip_array"][i].stage==0) return;
//trace("vp["+i+"] bytesloaded="+vidPlayer["clip_array"][i]["ns"].bytesLoaded+" bytestot="+vidPlayer["clip_array"][i]["ns"].bytesTotal+" tim="+Math.round(vidPlayer["clip_array"][i]["ns"].time)+" fps="+Math.round(vidPlayer["clip_array"][i]["ns"].currentFPS)+" buflen"+Math.round(vidPlayer["clip_array"][i]["ns"].bufferLength));
}
function vidPlayerPause (index,state):void
{
if(state==0) { vidPlayer["clip_array"][index]["ns"].resume(); vidPlayer["clip_array"][index]["is_paused"]=0; }
else { vidPlayer["clip_array"][index]["ns"].pause();vidPlayer["clip_array"][index]["is_paused"]=1; }
}