Reproduzir vários arquivos de vídeo

Você pode reproduzir arquivos de vídeo seqüencialmente em uma ocorrência FLVPlayback; basta carregar a nova URL na propriedade source quando terminar a reprodução do arquivo de vídeo anterior. Por exemplo, o código do ActionScript a seguir monitora o evento complete , que ocorre quando termina a reprodução de um arquivo de vídeo. Quando esse evento ocorre, o código define nome e local de um novo arquivo de vídeo na propriedade source e chama o método play() para reproduzir o novo vídeo.

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"); 
    } 
};

Usar vários players de vídeo

Você também pode abrir vários players de vídeo em uma única ocorrência do componente FLVPlayback para reproduzir vários vídeos e alternar entre eles, conforme são reproduzidos.

Você cria o player de vídeo inicial arrastando o componente FLVPlayback para o Palco. O componente atribui automaticamente o número 0 ao player de vídeo inicial e o torna o player padrão. Para criar um player de vídeo adicional, basta definir a propriedade activeVideoPlayerIndex para um novo número. Definir a propriedade activeVideoPlayerIndex também torna o player de vídeo especificado o player de vídeo active , que é aquele que será afetado pelas propriedades e métodos da classe FLVPlayback. Porém, definir a propriedade activeVideoPlayerIndex não torna o player de vídeo visível. Para fazer com que o player de vídeo fique visível, defina a propriedade visibleVideoPlayerIndex com o número do player de vídeo Para obter mais informações sobre como essas propriedades interagem com os métodos e as propriedades da classe FLVPlayback, consulte as propriedades Propriedades FLVPlayback.activeVideoPlayerIndex e FLVPlayback.visibleVideoPlayerIndex na Referência do ActionScript 3.0 para Adobe Flash Platform .

O código do ActionScript a seguir carrega a propriedade source para reproduzir um arquivo de vídeo no player de vídeo padrão e adiciona um ponto de sinalização a ele. Quando o evento ready ocorre, o manipulador de eventos abre um segundo player de vídeo, definindo a propriedade activeVideoPlayerIndex para o número 1. Ele especifica um arquivo FLV e um ponto de sinalização para o segundo player de vídeo e, em seguida, torna novamente padrão o player de vídeo ativo (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; 
};

Para alternar para outro arquivo FLV durante a reprodução de um arquivo FLV, você deve fazer a alternância no código do ActionScript. Os pontos de sinalização permitem interferir em pontos específicos do arquivo FLV usando um evento cuePoint . O código a seguir cria um ouvinte para o evento cuePoint e chama a função do manipulador que pausa o player de vídeo ativo (0), alterna para o segundo player (1) e reproduz o respectivo arquivo 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); 
        } 
};

Quando você cria um novo player de vídeo, a ocorrência FLVPlayback define as respectivas propriedades com o valor do player de vídeo padrão, exceto nas propriedades source , totalTime e isLive , cujas ocorrências do FLVPlayback são sempre definidas para os valores padrão: string vazia, 0 e false , respectivamente. Ele define a propriedade autoPlay , que assume true como o player de vídeo padrão, para false . A propriedade cuePoints não tem efeito e também não tem efeito em uma carga subseqüente no player de vídeo padrão.

Os métodos e as propriedades que controlam volume, posicionamento, dimensões, visibilidade e controles da interface do usuário são sempre globais e os respectivos comportamentos não são afetados pela definição da propriedade activeVideoPlayerIndex . Para obter mais informações sobre esses métodos e propriedades e o efeito de definição da propriedade activeVideoPlayerIndex , consulte a propriedade Propriedade FLVPlayback.activeVideoPlayerIndex na Referência do ActionScript 3.0 para Adobe Flash Platform . As propriedades e os métodos restantes direcionam o player de vídeo identificado pelo valor da propriedade activeVideoPlayerIndex .

No entanto, as propriedades e os métodos que controlam dimensões interagem com a propriedade visibleVideoPlayerIndex . Para obter mais informações, consulte a propriedade Propriedade FLVPlayback.visibleVideoPlayerIndex na Referência do ActionScript 3.0 para Adobe Flash Platform .