패키지flash.media
클래스public class Video
상속Video Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
하위 클래스 VideoPlayer

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

Video 클래스는 SWF 파일에 비디오를 포함시키지 않고 실시간 또는 기록된 비디오를 응용 프로그램에 표시합니다. 이 클래스는 Adobe Flash 또는 Adobe Flex 인터페이스에서 서버 또는 로컬에 저장한 기록된 Flash Video(FLV) 파일이나 사용자의 컴퓨터에서 캡처한 실시간 비디오를 재생하는 Video 객체를 생성합니다. Video 객체는 응용 프로그램의 표시 목록에 있는 표시 객체로, 사용자 인터페이스에서 비디오가 실행되는 시각적 공간을 나타냅니다.

Flash Media Server와 함께 사용할 경우 Video 객체를 통해 사용자의 컴퓨터에서 서버로 실시간 비디오를 보낸 다음 서버에서 다른 사용자에게 브로드캐스팅할 수 있습니다. 이러한 기능을 사용하여 간단한 비디오 플레이어나 한 서버에서 다른 서버로 멀티포인트 게시 기능을 지원하는 비디오 플레이어 또는 사용자 커뮤니티용 비디오 공유 응용 프로그램과 같은 미디어 응용 프로그램을 개발할 수 있습니다.

Flash Player 9에서는 Sorenson Spark 또는 On2 VP6 코덱으로 인코딩된 FLV 파일의 제작 및 재생을 지원하며 알파 채널도 지원합니다. On2 VP6 비디오 코덱은 이전 기술보다 대역폭을 적게 사용하고 추가 디블로킹 및 디링잉 필터를 제공합니다.

Flash Player 업데이트 3 이상의 버전은 런타임 렌더링 품질과 성능을 최적화하는 밉매핑을 지원합니다. 비디오 재생에서 Video 객체의 smoothing 속성을 true로 설정하면 Flash Player는 밉매핑 최적화를 사용합니다.

표시 목록의 다른 표시 객체와 마찬가지로 Video 객체의 다양한 속성을 제어할 수 있습니다. 예를 들어, Video 객체의 xy 속성을 사용하여 스테이지에서 Video 객체를 이동하거나 heightwidth 속성을 사용하여 크기를 변경할 수 있습니다.

비디오 스트림을 재생하려면 attachCamera() 또는 attachNetStream()을 사용하여 비디오를 Video 객체에 첨부합니다. 그런 다음 addChild()를 사용하여 Video 객체를 표시 목록에 추가합니다.

Flash 제작 도구를 사용하는 경우 addChild()를 사용하여 Video 객체를 추가하는 대신 다음과 같이 스테이지에 Video 객체를 배치할 수도 있습니다.

  1. [라이브러리] 패널이 보이지 않으면 [윈도우] > [라이브러리]를 선택하여 패널을 표시합니다.
  2. [라이브러리] 패널 제목 표시줄의 오른쪽에서 [옵션] 메뉴를 클릭하고 새 비디오를 선택하여 포함된 Video 객체를 라이브러리에 추가합니다.
  3. [비디오 속성] 대화 상자에서 라이브러리에서 사용할 포함된 Video 객체의 이름을 지정하고 [확인]을 클릭합니다.
  4. Video 객체를 스테이지로 드래그하고 속성 관리자를 사용하여 고유한 인스턴스 이름(예: my_video)을 지정합니다. 이때, Video라는 이름은 사용할 수 없습니다.

참고: Video 클래스는 InteractiveObject 클래스의 하위 클래스가 아니므로 마우스 이벤트를 전달할 수 없습니다. 그러나 Video 객체가 속하는 표시 객체 컨테이너의 addEventListener() 메서드는 호출할 수 있습니다.

예제를 통해 확인하십시오.

참고 사항

attachCamera()
attachNetStream()
flash.media.Camera.getCamera()
flash.net.NetConnection
flash.net.NetStream
flash.display.DisplayObjectContainer.addChild()
flash.display.Stage.addChild()
기본 표시 클래스
비디오의 기초


Public 속성
 속성다음에 의해 정의됨
 InheritedaccessibilityProperties : AccessibilityProperties
이 표시 객체의 현재 액세스 가능성 옵션입니다.
DisplayObject
 Inheritedalpha : Number
지정된 객체의 알파 투명도 값을 나타냅니다.
DisplayObject
 InheritedblendMode : String
사용할 블렌드 모드를 지정하는 BlendMode 클래스 값입니다.
DisplayObject
 InheritedcacheAsBitmap : Boolean
true로 설정된 경우, Flash Player는 표시 객체의 내부 비트맵 표현을 캐시합니다.
DisplayObject
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  deblocking : int
사후 처리의 일부로 디코딩된 비디오에 적용되는 필터 유형을 나타냅니다.
Video
 Inheritedfilters : Array
현재 표시 객체와 연관된 각 필터 객체가 들어 있는 인덱싱된 배열입니다.
DisplayObject
 Inheritedheight : Number
표시 객체의 높이를 픽셀 단위로 나타냅니다.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[read-only] 이 표시 객체가 속한 파일의 로딩 정보가 포함된 LoaderInfo 객체를 반환합니다.
DisplayObject
 Inheritedmask : DisplayObject
호출하는 표시 객체는 지정된 mask 객체에 의해 마스크 처리됩니다.
DisplayObject
 InheritedmouseX : Number
[read-only] 마우스 위치의 x 좌표를 픽셀 단위로 나타냅니다.
DisplayObject
 InheritedmouseY : Number
[read-only] 마우스 위치의 y 좌표를 픽셀 단위로 나타냅니다.
DisplayObject
 Inheritedname : String
DisplayObject의 인스턴스 이름을 나타냅니다.
DisplayObject
 InheritedopaqueBackground : Object
표시 객체를 특정 배경색으로 불투명하게 처리할지 여부를 지정합니다.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] 이 표시 객체가 포함된 DisplayObjectContainer 객체를 나타냅니다.
DisplayObject
 Inheritedprototype : Object
[static] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
 Inheritedroot : DisplayObject
[read-only] 로드된 SWF 파일에 있는 표시 객체의 경우, 해당 SWF 파일이 나타내는 표시 목록의 트리 구조 부분에서 맨 위에 위치하는 표시 객체가 루트 속성이 됩니다.
DisplayObject
 Inheritedrotation : Number
DisplayObject 인스턴스가 원점으로부터 회전한 각도입니다.
DisplayObject
 Inheritedscale9Grid : Rectangle
현재 적용 중인 크기 조절 격자입니다.
DisplayObject
 InheritedscaleX : Number
등록 포인트에서 적용된 객체의 가로 크기(percentage)를 나타냅니다.
DisplayObject
 InheritedscaleY : Number
객체의 등록 포인트에서 적용된 객체의 세로 크기(percentage)를 나타냅니다.
DisplayObject
 InheritedscrollRect : Rectangle
표시 객체의 스크롤 사각형 경계입니다.
DisplayObject
  smoothing : Boolean
비디오의 크기를 조절할 때 매끄럽게 할 것인지 여부를 지정합니다.
Video
 Inheritedstage : Stage
[read-only] 표시 객체의 Stage입니다.
DisplayObject
 Inheritedtransform : Transform
표시 객체의 행렬, 색상 변환 및 픽셀 경계와 관련된 속성을 가진 객체입니다.
DisplayObject
  videoHeight : int
[read-only] 비디오 스트림의 높이를 픽셀 단위로 지정하는 정수입니다.
Video
  videoWidth : int
[read-only] 비디오 스트림의 너비를 픽셀 단위로 지정하는 정수입니다.
Video
 Inheritedvisible : Boolean
표시 객체가 표시되는지 여부를 나타냅니다.
DisplayObject
 Inheritedwidth : Number
표시 객체의 폭을 픽셀 단위로 나타냅니다.
DisplayObject
 Inheritedx : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 x 좌표를 나타냅니다.
DisplayObject
 Inheritedy : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 y 좌표를 나타냅니다.
DisplayObject
Public 메서드
 메서드다음에 의해 정의됨
  
Video(width:int = 320, height:int = 240)
새 Video 인스턴스를 만듭니다.
Video
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
  
응용 프로그램에서 Video 객체의 경계선 안에 표시할 카메라의 비디오 스트림을 지정합니다.
Video
  
응용 프로그램에서 Video 객체의 경계 내에 표시할 비디오 스트림을 지정합니다.
Video
  
Video 객체에 현재 표시된 이미지를 지웁니다.
Video
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체의 영역을 정의하는 사각형을 반환합니다.
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
대상 좌표 공간 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다.
DisplayObject
 Inherited
Point 객체를 Stage 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다.
DisplayObject
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
표시 객체를 평가하여 표시 객체와 겹치거나 교차하는지 확인합니다.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다.
DisplayObject
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
Point 객체를 표시 객체의 로컬 좌표에서 Stage 전역 좌표로 변환합니다.
DisplayObject
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher 객체에서 리스너를 제거합니다.
EventDispatcher
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 다음에 의해 정의됨
 Inherited Flash Player가 운영 체제에서 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
 Inherited 표시 객체를 표시 목록에 추가할 때 전달됩니다.DisplayObject
 Inherited 표시 객체가 포함된 하위 트리를 추가하거나 또는 표시 객체를 스테이지 표시 목록에 직접 추가할 때 전달됩니다.DisplayObject
 Inherited Flash Player가 운영 체제에서 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
 Inherited 재생 헤드가 새 프레임에 들어갈 때 전달됩니다.DisplayObject
 Inherited 표시 객체를 표시 목록에서 제거하려 할 때 전달됩니다.DisplayObject
 Inherited 표시 객체가 포함된 하위 트리를 제거하거나 표시 객체가 스테이지 표시 목록에서 직접 제거하려 할 때 전달됩니다.DisplayObject
 Inherited 표시 목록을 업데이트하고 렌더링하려 할 때 전달됩니다.DisplayObject
속성 정보
deblocking속성
deblocking:int  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사후 처리의 일부로 디코딩된 비디오에 적용되는 필터 유형을 나타냅니다. 기본값은 0이며, 이 값에서는 비디오 압축기가 디블로킹 필터를 필요한 만큼 적용합니다.

비디오 압축으로 인해 원치 않은 인위적인 요소가 나타날 수 있습니다. deblocking 속성을 사용하여 블로킹을 줄여 주는 필터를 설정할 수 있으며, On2 코덱으로 압축된 비디오의 경우에는 링잉을 줄일 수 있습니다.

블로킹이란 각 비디오 프레임을 구성하는 블록 경계선 사이에서 눈에 띄는 결함을 가리킵니다. 링잉은 비디오 이미지 내의 요소들 주변에서 나타나는 왜곡된 가장자리를 말합니다.

두 개의 디블로킹 필터인, Sorenson 코덱의 필터와 On2 VP6 코덱의 필터가 있습니다. 또한 On2 VP6 코덱을 사용할 때 디링잉 필터를 사용할 수 있습니다. 필터를 설정하려면 다음 값 중 하나를 사용합니다.

Sorenson 코덱을 사용할 때 비디오에 대해 2보다 큰 값을 선택하면 Sorenson 디코더는 기본값 2를 사용합니다.

디블로킹 필터는 전반적인 재생 성능에 영향을 주며, 보통 고대역폭 비디오에는 사용할 필요가 없습니다. 시스템 성능이 부족한 경우에는 디블로킹 필터를 활성화한 상태에서 비디오를 재생하기가 어려울 수 있습니다.


구현
    public function get deblocking():int
    public function set deblocking(value:int):void
smoothing속성 
smoothing:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

비디오의 크기를 조절할 때 매끄럽게 할 것인지 여부를 지정합니다. 매끄럽게 하는 기능이 동작하려면 Flash Player가 고품질 모드에 있어야 합니다. 기본값은 false(매끄럽게 하지 않음)입니다.

Flash Player 업데이트 3 이상의 버전을 사용하여 비디오를 재생할 경우 밉매핑 이미지 최적화를 활용하려면 이 속성을 true로 설정합니다.


구현
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void
videoHeight속성 
videoHeight:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

비디오 스트림의 높이를 픽셀 단위로 지정하는 정수입니다. 라이브 스트림의 경우, 이 값은 비디오 스트림을 캡처하는 Camera 객체의 Camera.height 속성과 동일합니다. FLV 파일의 경우, 이 값은 FLV 형식으로 내보낸 파일의 높이입니다.

스테이지에 놓인 Video 객체의 실제 크기와 관계없이 캡처된 크기와 동일하게 비디오를 표시할 때 이 속성을 사용할 수 있습니다.


구현
    public function get videoHeight():int

참고 사항

videoWidth속성 
videoWidth:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

비디오 스트림의 너비를 픽셀 단위로 지정하는 정수입니다. 라이브 스트림의 경우, 이 값은 비디오 스트림을 캡처하는 Camera 객체의 Camera.width 속성과 동일합니다. FLV 파일의 경우, 이 값은 FLV 파일로 내보내었던 파일의 너비와 같습니다.

스테이지에 놓인 Video 객체의 실제 크기와 관계없이 캡처된 크기와 동일하게 비디오를 표시할 때 이 속성을 사용할 수 있습니다.


구현
    public function get videoWidth():int

참고 사항

생성자 정보
Video()생성자
public function Video(width:int = 320, height:int = 240)

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

새 Video 인스턴스를 만듭니다. widthheight 매개 변수의 값을 제공하지 않으면 기본값이 사용됩니다. 초기 구성 이후에 Video.widthVideo.height를 사용하여 Video 객체의 폭과 높이 속성을 설정할 수도 있습니다. Video 객체를 새로 만들 때 폭 또는 높이 값으로 0을 사용할 수 없습니다. 0을 전달하면 기본값이 적용됩니다.

Video를 만든 다음 DisplayObjectContainer.addChild() 또는 DisplayObjectContainer.addChildAt() 메서드를 호출하여 Video 객체를 부모 DisplayObjectContainer 객체에 추가합니다.

매개 변수
width:int (default = 320) — 비디오의 너비(픽셀)입니다.
 
height:int (default = 240) — 비디오의 높이(픽셀)입니다.
메서드 정보
attachCamera()메서드
public function attachCamera(camera:Camera):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

응용 프로그램에서 Video 객체의 경계선 안에 표시할 카메라의 비디오 스트림을 지정합니다.

이 메서드를 사용하여 사용자의 컴퓨터에서 실시간 비디오를 Video 객체에 첨부합니다. 실시간 비디오를 캡처하는 동일한 컴퓨터에서 로컬로 실시간 비디오를 재생하거나 Flash Media Server로 실시간 비디오를 보내고 서버를 사용하여 다른 사용자에게 스트리밍할 수 있습니다.

매개 변수

camera:Camera — 비디오 데이터를 캡처하는 Camera 객체입니다. Video 객체와의 연결을 끊으려면 null을 전달합니다.

참고 사항


예제
예제 사용 방법
이 메서드를 사용하는 방법은 Camera.getCamera() 메서드를 참조하십시오.
attachNetStream()메서드 
public function attachNetStream(netStream:NetStream):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

응용 프로그램에서 Video 객체의 경계 내에 표시할 비디오 스트림을 지정합니다. 비디오 스트림은 NetStream.play()로 재생되는 FLV 파일, Camera 객체 또는 null입니다. FLV 파일을 사용하는 경우 로컬 파일 시스템이나 Flash Media Server에 저장할 수 있습니다. netStream 인수의 값이 null이면 Video 객체에서 더 이상 비디오가 재생되지 않습니다.

FLV 파일에 오디오만 있으면 이 메서드를 사용할 필요가 없습니다. FLV 파일의 오디오 부분은 NetStream.play()를 호출할 때 자동으로 재생됩니다. FLV 파일과 연관된 오디오를 제어하려면 해당 FLV 파일을 재생하는 NetStream 객체의 soundTransform 속성을 사용합니다.

매개 변수

netStream:NetStream — NetStream 객체입니다. Video 객체와의 연결을 끊으려면 null을 전달합니다.

참고 사항


예제
예제 사용 방법
이 메서드를 사용하는 방법은 이 클래스 뒷부분의 예제를 참조하십시오.
clear()메서드 
public function clear():void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

Video 객체에 현재 표시된 이미지를 지웁니다. Video 객체를 숨기지 않고 대기 정보를 표시할 때 유용합니다.

참고 사항

예제 예제 사용 방법
VideoExample.as

다음 예제에서는 NetConnection 및 NetStream 클래스와 함께 Video 객체를 사용하여 FLV 파일을 로드 및 재생합니다. 이 예제를 실행하려면 videoURL로 전달된 변수와 일치하는 이름 및 위치를 가지는 FLV 파일이 필요합니다. 이 경우에는 SWF 파일과 같은 디렉토리에 있는 Video.flv라는 FLV 파일입니다.

이 예제에서는 Video 및 NetStream 객체를 만들고 Video.attachNetStream()NetStream.play()를 호출하는 코드가 핸들러 함수 안에 배치됩니다. 핸들러는 NetConnection 객체에 대한 연결에 성공해야만 호출됩니다. 연결은 netStatus 이벤트가 성공을 나타내는 code 속성을 갖는 정보 객체를 반환하면 성공합니다. 연결에 성공할 때까지 기다렸다가 NetStream.play()를 호출하는 것이 좋습니다.


 package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;

    public class VideoExample extends Sprite {
        private var videoURL:String = "Video.flv";
        private var connection:NetConnection;
        private var stream:NetStream;

        public function VideoExample() {
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate video: " + videoURL);
                    break;
            }
        }

        private function connectStream():void {
            var stream:NetStream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
        
        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }
    }
 }




 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/media/Video.html