播放多个视频文件

您只需通过在前一个视频文件完成播放时在 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 Platform 的 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) 的处理函数,切换到第 2 个播放器 (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 属性的效果的详细信息,请参阅 用于 Adobe Flash Platform 的 ActionScript 3.0 参考 中的 FLVPlayback.activeVideoPlayerIndex 属性。其余的属性和方法针对 activeVideoPlayerIndex 属性值所标识的视频播放器。

但是,控制尺寸的属性和方法与 visibleVideoPlayerIndex 属性 相互影响 。有关详细信息,请参阅 用于 Adobe Flash Platform 的 ActionScript 3.0 参考 中的 FLVPlayback.visibleVideoPlayerIndex 属性。