В одном экземпляре компонента FLVPlayback можно открыть несколько видеопроигрывателей для воспроизведения нескольких видеофайлов и перехода между ними во время воспроизведения.
Исходный видеопроигрыватель создается при перетаскивании компонента FLVPlayback в рабочую область. Компонент автоматически присваивает исходному видеопроигрывателю номер 0 и назначает его проигрывателем по умолчанию. Для создания дополнительного видеопроигрывателя просто установите свойство
activeVideoPlayerIndex
на новое число. Задание свойства
activeVideoPlayerIndex
также делает указанный видеопроигрыватель
активным
видеопроигрывателем, т. е. тем, к которому будут применены свойства и методы класса FLVPlayback. Задание свойства
activeVideoPlayerIndex
, однако, не делает видеопроигрыватель видимым. Чтобы сделать его видимым, установите свойство
visibleVideoPlayerIndex
на номер видеопроигрывателя. Дополнительные сведения о взаимодействии этих свойств с методами и свойствами класса FLVPlayback·см. в описании свойств FLVPlayback.activeVideoPlayerIndex·и FLVPlayback.visibleVideoPlayerIndex·в
справочнике ActionScript® 3.0
для Adobe® Flash® Professional CS5
.
Следующий код 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-файла к другому необходимо создать переключение в коде ActionScript. Ключевые точки позволяют вам вмешаться в определенные моменты в FLV-файле при помощи события
cuePoint
. Следующий код создает прослушиватель для события
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
соответственно. Он устанавливает свойство
autoPlay
, значением по умолчанию которого является
true
для видеопроигрывателя по умолчанию, на значение
false
. Свойство
cuePoints
не действует и не влияет на последующую загрузку в видеопроигрыватель по умолчанию.
Методы и свойства, управляющие громкостью, расположением, размерами, видимостью и элементами управления пользовательского интерфейса, всегда глобальные, и задание свойства
activeVideoPlayerIndex
не влияет на их поведение. Дополнительные сведения об этих методах и свойствах, а также результатах задания свойства
activeVideoPlayerIndex
см. в описании свойства FLVPlayback.activeVideoPlayerIndex в
справочнике ActionScript® 3.0
для Adobe® Flash® Professional CS5
. Остальные свойства и методы предназначены для видеопроигрывателя, обозначенного значением свойства
activeVideoPlayerIndex
.
Однако свойства и методы, управляющие размерами,
взаимодействуют
со свойством
visibleVideoPlayerIndex
. Дополнительные сведения см. в описании свойства FLVPlayback.visibleVideoPlayerIndex в
справочнике ActionScript® 3.0
для Adobe® Flash® Professional CS5
.