본문 바로가기

actionscript netstream 시 바로 포즈하면 metadata못가져옴

ns = new netstream


ns.play("url");

ns.pause();


이렇게 최초에 바로 해줘버리면 metadata를 못가져오고 그걸 못가져오면 결과적으로 duration을 못가져온다(정확히는 medata 핸들러 이벤트가 안 일어남)


임시방편으로 슬립을 1초정도 준 뒤에 포즈 시킨다.


var client:Object = new Object();

client.onMetaData = metadataEvent;

client.onCuePoint = cuePointEvent;


function metadataEvent( mtObj: Object ):void {

   //재생시간 등등과 fps가 나와진다.

  var key:String; 

    for (key in mtObj) { 

       trace(key + ": " + mtObj[key]); 

    } 

duration = mtObj.duration;

framerate = mtObj.framerate;

if(isSpeed != 0) {

framerate = mtObj.framerate * isSpeed;

}

trace("fps === :: " + mtObj.FPS);

trace("framerate == " + framerate);

trace("durateion == " + duration);

}


var video:Video = new Video( width, height)

addChild(video);


video.attachNetStream( ns );


비디오 볼륨은

videoSoundTransform = new SoundTransform();

videoSoundTransform.volume = 1;

ns.soundTransform = videoSoundTransform;


var fistSleep;



ns.play("url str");

sleepFunc = setInterval( sleepinterval, 500 ~ 1000 );

function sleepinterval():void {
  ns.pause(); 
}