여러 비디오 파일 재생

이전 비디오 파일의 재생이 끝날 때 source 속성에 새로운 URL을 로드하는 간단한 방법으로 FLVPlayback 인스턴스에서 여러 비디오 파일을 순차적으로 재생할 수 있습니다. 예를 들어, 다음 ActionScript 코드는 비디오 파일의 재생이 끝날 때 발생하는 complete 이벤트를 수신합니다. 이 이벤트가 발생하면 코드에서는 source 속성에 새로운 비디오 파일의 이름과 위치를 설정하고 play() 메서드를 호출하여 새 비디오를 재생합니다.

import fl.video.*; 
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/clouds.flv"; 
my_FLVPlybk.addEventListener(VideoEvent.COMPLETE, complete_listener); 
// listen for complete event; play new FLV 
function complete_listener(eventObject:VideoEvent):void { 
    if (my_FLVPlybk.source == "http://www.helpexamples.com/flash/video/clouds.flv") { 
        my_FLVPlybk.play("http://www.helpexamples.com/flash/video/water.flv"); 
    } 
};

여러 비디오 플레이어 사용

하나의 FLVPlayback 구성 요소 인스턴스 내에서 비디오 플레이어를 여러 개 열어 다수의 비디오를 재생하고 재생 중인 비디오 사이를 전환할 수 있습니다.

FLVPlayback 구성 요소를 스테이지로 드래그하면 첫 번째 비디오 플레이어가 만들어집니다. 구성 요소에서는 처음에 만들어진 비디오 플레이어에 숫자 0을 지정하고 이를 기본 플레이어로 설정합니다. 추가 비디오 플레이어를 만들려면 activeVideoPlayerIndex 속성에 새 값을 설정합니다. activeVideoPlayerIndex 속성을 설정하면 지정한 비디오 플레이어가 활성 비디오 플레이어가 되고 FLVPlayback 클래스의 속성과 메서드에 따라 영향을 받게 됩니다. activeVideoPlayerIndex 속성을 설정한다고 해서 해당 비디오 플레이어가 표시되는 것은 아닙니다. 비디오 플레이어가 표시되게 하려면 visibleVideoPlayerIndex 속성을 해당 비디오 플레이어의 번호로 설정합니다. 이러한 속성이 FLVPlayback 클래스의 메서드 및 속성과 상호 작용하는 방법에 대한 자세한 내용은 Adobe Flash Professional CS5용 ActionScript 3.0 참조 설명서 에서 FLVPlayback.activeVideoPlayerIndex 및 FLVPlayback.visibleVideoPlayerIndex 속성을 참조하십시오.

다음 ActionScript 코드는 source 속성을 로드하여 기본 비디오 플레이어에서 비디오 파일을 재생하고 비디오 파일에 큐 포인트를 추가합니다. ready 이벤트가 발생하면 이벤트 핸들러에서는 activeVideoPlayerIndex 속성을 숫자 1로 설정하여 두 번째 비디오 플레이어를 엽니다. 두 번째 비디오 플레이어에 대한 FLV 파일과 큐 포인트를 지정한 다음 기본 플레이어(0)를 다시 활성 비디오 플레이어로 설정합니다.

/** 
    Requires: 
- FLVPlayback component on the Stage with an instance name of my_FLVPlybk 
*/ 
// add a cue point to the default player 
import fl.video.*; 
my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/clouds.flv"; 
my_FLVPlybk.addASCuePoint(3, "1st_switch"); 
my_FLVPlybk.addEventListener(VideoEvent.READY, ready_listener); 
function ready_listener(eventObject:VideoEvent):void { 
    // add a second video player and create a cue point for it 
    my_FLVPlybk.activeVideoPlayerIndex = 1; 
    my_FLVPlybk.source = "http://www.helpexamples.com/flash/video/water.flv"; 
    my_FLVPlybk.addASCuePoint(3, "2nd_switch"); 
    my_FLVPlybk.activeVideoPlayerIndex = 0; 
};

FLV 파일이 재생되고 있는 동안 다른 FLV 파일로 전환하려면 ActionScript 코드에 전환을 만들어야 합니다. 큐 포인트를 사용하면 cuePoint 이벤트를 통해 FLV 파일의 특정 포인트에서 필요한 작업을 수행할 수 있습니다. 다음 코드는 cuePoint 이벤트에 대한 리스너를 만든 다음, 활성 비디오 플레이어(0)를 일시 정지하고 두 번째 플레이어(1)로 전환하여 해당 FLV 파일을 재생하는 핸들러 함수를 호출합니다.

import fl.video.*; 
// add listener for a cuePoint event 
my_FLVPlybk.addEventListener(MetadataEvent.CUE_POINT, cp_listener); 
// add the handler function for the cuePoint event 
function cp_listener(eventObject:MetadataEvent):void { 
        // display the no. of the video player causing the event 
        trace("Hit cuePoint event for player: " + eventObject.vp); 
        // test for the video player and switch FLV files accordingly 
        if (eventObject.vp == 0) { 
            my_FLVPlybk.pause();     //pause the first FLV file 
            my_FLVPlybk.activeVideoPlayerIndex = 1; // make the 2nd player active 
            my_FLVPlybk.visibleVideoPlayerIndex = 1; // make the 2nd player visible 
            my_FLVPlybk.play(); // begin playing the new player/FLV 
        } else if (eventObject.vp == 1) { 
            my_FLVPlybk.pause(); // pause the 2nd FLV 
            my_FLVPlybk.activeVideoPlayerIndex = 0; // make the 1st player active 
            my_FLVPlybk.visibleVideoPlayerIndex = 0; // make the 1st player visible 
            my_FLVPlybk.play(); // begin playing the 1st player 
        } 
} 
my_FLVPlybk.addEventListener(VideoEvent.COMPLETE, complete_listener); 
function complete_listener(eventObject:VideoEvent):void { 
        trace("Hit complete event for player: " + eventObject.vp); 
        if (eventObject.vp == 0) { 
            my_FLVPlybk.activeVideoPlayerIndex = 1; 
            my_FLVPlybk.visibleVideoPlayerIndex = 1; 
            my_FLVPlybk.play(); 
        } else { 
            my_FLVPlybk.closeVideoPlayer(1); 
        } 
};

새 비디오 플레이어를 만들면 FLVPlayback 인스턴스는 해당 속성을 기본 비디오 플레이어의 값으로 설정합니다. 단, source , totalTime isLive 속성은 예외로서, FLVPlayback 인스턴스에서는 이러한 속성을 항상 기본값인 빈 문자열, 0 및 false 로 각각 설정합니다. 또한 기본 비디오 플레이어에 대해 기본값 true 로 설정되는 autoPlay 속성을 false 로 설정합니다. cuePoints 속성은 아무런 영향을 주지 않으며 기본 비디오 플레이어의 후속 로드 작업에도 영향을 주지 않습니다.

볼륨, 위치, 크기, 가시성 및 사용자 인터페이스 컨트롤을 제어하는 메서드 및 속성은 항상 전역 메서드 및 속성이며 activeVideoPlayerIndex 속성 설정 값에 따라 해당 비헤이비어가 영향을 받지 않습니다. 이러한 메서드 및 속성과 activeVideoPlayerIndex 속성 설정의 효과에 대한 자세한 내용은 Adobe Flash Professional CS5용 ActionScript 3.0 참조 설명서 에서 FLVPlayback.activeVideoPlayerIndex 속성을 참조하십시오. 나머지 속성 및 메서드는 activeVideoPlayerIndex 속성 값으로 식별되는 비디오 플레이어를 대상으로 합니다.

그러나 크기를 제어하는 속성 및 메서드는 visibleVideoPlayerIndex 속성에 따라 영향을 받습니다 . 자세한 내용은 Adobe Flash Professional CS5용 ActionScript 3.0 참조 설명서 에서 FLVPlayback.visibleVideoPlayerIndex 속성을 참조하십시오.