AS3.0 Cookbook/비디오2008. 8. 17. 12:43
비디오를 재생하기 위해서는 앞서 설명했듯이 NetConnectionNetStream 그리고 Video클래스를 통해 플래시 플레이어에서 보여주게 된다.

var netc:NetConnection = new NetConnection();
일반서버에는 보통 null값을 사용하여 서버를 열게 됩니다.
netc.connect( null );

NetConnection의 delegate가 선언되면 이를 관리할 NetStream을 생성하고
NetConnection을 생성자에 입력합니다.

var nets:NetStream = new NetStream( netc );   
- 콜백 메서드가 호출되는 객체를 반드시 지정합니다.
- 보통은 같은 클래스에 넣어서 this로 경로를 지정하고(스코프를 맞추기 위해...)
- 콜벡하는 객체에는 최소한onMetaData(Object)함수가 있어야 하고
- flv에 cuePoint가 설정되어있다면 플레이어는 onCuePoint(Object)를 호출한다.
  따라서 콜벡경로에 같이 만들어 두는 것이 좋다

var meta:Object = new Object();
meta.onMetaData = onMeta;
meta.onCuePoint = onCue;
nets.client = meta;

   
비디오 클래스를 통해 디스플레이 리스트에 등록하여 가시적으로 보여주게 한다.
var video:Video = new Video(500 , 375);

video에서 사용할 데이터(NetStream)를 연결한다.
video.attachNetStream( nets );
addChild( video );

비디오 클래스의play()는 사운드의 play처럼 사용하고자 하는 데이터를 열기도 하지만 동시에 재생을 한다.
video.play( "재생할 URL" )

이처럼 설정이 끝나면 위에서 선언한 콜벡함수들을 정의해야 한다.
private function onMeta( data:Object ):void
{
비디오의 전체 재생시간을 알려준다.
  trace( data.duration );
}

FLV파일에 큐포인트가 등록되어 있다면 아래 함수가 실행한다.

private function onCue( data:Object ):void
{
   trace("onCue");
}




   
Posted by 버터백통