관리 메뉴

nkdk의 세상

AS3.0의 비디오의 이해2 NetStream 클래스 비디오 제어 본문

My Programing/ActionScript

AS3.0의 비디오의 이해2 NetStream 클래스 비디오 제어

nkdk 2008. 3. 9. 22:28
netStream 에서는 publisher와 subscriber라는 것이 두개가 있습니다.
퍼블리셔는 자료 제공자 서브스크라이버는 제공된 자료를 보는 사람입니다.

화상 채팅 참가자는 두 개 모두 해당 되겠죠?

NetStream 클래스는 재생관련 기능을 NetStream 클래스가 구현하고 있습니다.

pause(), resume(), seek(), togglePause();

seek()는 특정 키프레임 위치로 FLV재생 위치를 변경 합니다.
나머지는 따로 설명이 필요 없으리라. 소스 나갑니다.

정신 없이 프로젝트를 하게 되네요.

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);

ns.play("video.flv");
var vid:Video = new Video();
vid.attachNetStream(ns);
stage.addChild(vid);

pauseBtn.addEventListener(MouseEvent.CLICK, pauseHandler);
playBtn.addEventListener(MouseEvent.CLICK, playHandler);
stopBtn.addEventListener(MouseEvent.CLICK, stopHandler);
togglePauseBtn.addEventListener(MouseEvent.CLICK, togglePauseHandler);

function asyncErrorHandler(event:AsyncErrorEvent):void {

}

function pauseHandler(event:MouseEvent):void{
ns.pause();
}

function playHandler(event:MouseEvent):void
{
ns.resume();
}
function togglePauseHandler(event:MouseEvent):void{
ns.togglePause();
}
function stopHandler(event:MouseEvent):void{
ns.pause();
ns.seek(0);
}

이런식으로 사용하는 것이 대표적인 코딩입니다.

물론 여기서 video.flv 파일이 있어야 합니다.

재생 상태 정보도 보고 싶으신가요? 다음과 같이 추가 하세요

ns.addEventListener(NetStatusEvent.NET_STATUS, statusHandler);
function statusHandler(event:NetStatusEvent):void
{
trace(event.info.code, ns.time);
}

다양한 정보의 표현이 가능하고 도움말을 보면 30개 가까이 존재하니 꼭 도움말을 보고 습득 하시기 바랍니다.
아 그리고 4개의 컴포넌트 버튼은 미리 만드셔야 합니다 ^^

자 다음은 비디오의 이해 마지막 시간 나아 갈께요. 비디오를 이렇게 간단히 표현하거나 제작할 수 있다니 너무나 좋네요 ^^