하나의 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 속성을 참조하십시오.