Compatibilidad con el modo de pantalla completa

La versión ActionScript 3.0 del componente FLVPlayback admite el modo de pantalla completa, que requiere Flash Player 9.0.28.0, o posterior y también que el HTML esté configurado correctamente para la visualización de pantalla completa. Algunos aspectos prediseñados incluyen un conmutador para activar y desactivar el modo de pantalla completa. El icono FullScreenButton aparece en la parte derecha de la barra de control en la siguiente ilustración.

Icono de pantalla completa en la barra de control

La compatibilidad con la pantalla completa sólo tiene lugar si se establece la propiedad fullScreenTakeOver en true (el valor predeterminado).

La compatibilidad con la pantalla completa se puede producir con o sin la compatibilidad de aceleración de hardware. Para información sobre la compatibilidad de aceleración de hardware, consulte Aceleración de hardware .

Para implementar la compatibilidad con la pantalla completa para FLVPlayback:

  1. Añada el componente FLVPlayback a la aplicación y asigne un archivo de vídeo al mismo.

  2. Seleccione un aspecto para el componente FLVPlayback que tiene el botón de pantalla completa (Ej: SkinUnderPlaySeekFullscreen.swf) o añada el componente de interfaz de usuario FullScreenButton al componente FLVPlayback de la sección Vídeo en el panel Componentes.

  3. Seleccione Archivo > Configuración de publicación.

  4. En el cuadro de diálogo Configuración de publicación, haga clic en la ficha HTML.

  5. En la ficha HTML, seleccione Flash con compatibilidad de pantalla completa del menú emergente Plantilla.

  6. Asimismo en la ficha HTML, seleccione la casilla de verificación Detectar versión de Flash y especifique una versión 9.0.28 o posterior, según la versión de Flash Player que esté utilizando.

  7. Seleccione la ficha Formatos y asegúrese de que las opciones Flash (.swf) y HTML (.html) están seleccionadas. Puede remplazar los nombres de archivo predeterminados.

  8. Haga clic en Publicar y luego en Aceptar.

    Como una alternativa al paso 7, se puede hacer clic en Aceptar y seleccionar Archivo > Publicar previsualización > Predeterminada - (HTML) para abrir automáticamente el archivo HTML exportado en su navegador predeterminado. De lo contrario, abra el archivo HTML exportado con el navegador para probar la opción de pantalla completa.

    Para añadir el componente FLVPlayback con compatibilidad de pantalla completa a la página web, abra el archivo HTML exportado y copie el código que incorpora el archivo SWF en el archivo HTML para la página web. Este código debería ser similar al siguiente ejemplo:

    //from the <head> section 
     
    <script language="javascript"> AC_FL_RunContent = 0; </script>  
    <script language="javascript"> DetectFlashVer = 0; </script>  
    <script src="AC_RunActiveContent.js" language="javascript"></script> 
    <script language="JavaScript" type="text/javascript">  
    <!--  
    // -----------------------------------------------------------------------------  
    // Globals  
    // Major version of Flash required  
    var requiredMajorVersion = 9;  
    // Minor version of Flash required  
    var requiredMinorVersion = 0;  
    // Revision of Flash required  
    var requiredRevision = 28;  
    // -----------------------------------------------------------------------------  
    // -->  
    </script>  
     
    //and from the <body> section 
     
    <script language="JavaScript" type="text/javascript">  
    <!--  
    if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {  
        alert("This page requires AC_RunActiveContent.js.");  
    } else {  
        var hasRightVersion = DetectFlashVer(requiredMajorVersion, 
            requiredMinorVersion, requiredRevision);  
        if(hasRightVersion) { // if we&apos;ve detected an acceptable version  
            // embed the Flash movie  
            AC_FL_RunContent(  
                &apos;codebase&apos;, &apos;http://download.macromedia.com/pub/ 
                    shockwave/cabs/flash/swflash.cab#version=9,0,28,0&apos;,  
                &apos;width&apos;, &apos;550&apos;,  
                &apos;height&apos;, &apos;400&apos;, 
                &apos;src&apos;, &apos;fullscreen&apos;,  
                &apos;quality&apos;, &apos;high&apos;,  
                &apos;pluginspage&apos;, &apos;http://www.macromedia.com/go/ 
                    getflashplayer&apos;,  
                &apos;align&apos;, &apos;middle&apos;,  
                &apos;play&apos;, &apos;true&apos;,  
                &apos;loop&apos;, &apos;true&apos;,  
                &apos;scale&apos;, &apos;showall&apos;,  
                &apos;wmode&apos;, &apos;window&apos;,  
                &apos;devicefont&apos;, &apos;false&apos;,  
                &apos;id&apos;, &apos;fullscreen&apos;,  
                &apos;bgcolor&apos;, &apos;#ffffff&apos;,  
                &apos;name&apos;, &apos;fullscreen&apos;,  
                &apos;menu&apos;, &apos;true&apos;, 
                &apos;allowScriptAccess&apos;,&apos;sameDomain&apos;, 
                &apos;allowFullScreen&apos;,&apos;true&apos;,  
                &apos;movie&apos;, &apos;fullscreen&apos;,  
                &apos;salign&apos;, &apos;&apos; ); //end AC code  
        } else { // Flash is too old or we can&apos;t detect the plug-in.  
            var alternateContent = &apos;Alternative HTML content should be placed 
                    here.&apos;  
                + &apos;This content requires Adobe Flash Player.&apos;  
                + &apos;<a href=http://www.macromedia.com/go/getflash/>Get Flash</a> 
                        &apos;;  
            document.write(alternateContent); // Insert non-Flash content.  
        }  
    }  
    // -->  
    </script>  
    <noscript>  
        // Provide alternative content for browsers that do not support scripting  
        // or for those that have scripting disabled.  
        Alternative HTML content should be placed here. This content requires Adobe Flash Player.  
        <a href="http://www.macromedia.com/go/getflash/">Get Flash</a>  
    </noscript>

    Como una alternativa, se puede utilizar el archivo HTML exportado como la plantilla para la página web y añadir el resto del contenido. Si se procede de este modo, se debe cambiar el nombre del archivo HTML para que el archivo no se sobrescriba accidentalmente en caso de que más tarde se exporte el archivo HTML FLVPlayback nuevamente de Flash.

    En cualquier caso, también se debe cargar en el servidor web el archivo AC_RunActiveContent.js que se exporta a la misma carpeta que el archivo HTML

    La compatibilidad de ActionScript para el modo de pantalla completa incluye las propiedades fullScreenBackgroundColor , fullScreenSkinDelay, y fullScreenTakeOver y el método enterFullScreenDisplayState() . Para obtener información sobre estos elementos de ActionScript, consulte la Referencia de ActionScript 3.0 para Flash Professional .

Uso de enterFullScreenDisplayState()

También se puede invocar al modo de pantalla completa llamando al método enterFullScreenDisplayState() ActionScript, como se muestra en el siguiente ejemplo.

function handleClick(e:MouseEvent):void { 
    myFLVPlybk.enterFullScreenDisplayState(); 
} 
myButton.addEventListener(MouseEvent.CLICK, handleClick);

En este ejemplo, el modo de pantalla completa no se invoca haciendo clic en el conmutador de pantalla completa en un aspecto de FLVPlayback, sino haciendo clic en un botón (MyButton) que el creador de la página web ha incluido para invocar e modo de pantalla completa. Haciendo clic en le botón se activa el controlador de eventos handleClick , que llama al método enterFullScreen DisplayState() .

El método enterFullScreenDisplayState() establece la propiedad Stage.displayState en StageDisplayState.FULL_SCREEN y en consecuencia tiene las mismas restricciones que la propiedad displayState . Para más información sobre el método enterFullScreenDisplayState() y la propiedad Stage . displayState , consulte la Referencia de ActionScript 3.0 para Flash Professional .

Aceleración de hardware

Flash Player 9.0.115.0 y las versiones posteriores incluyen código que saca provecho del hardware de vídeo disponible para mejorar el rendimiento y la fidelidad de los archivos FLV que FLVPlayback reproduce en el modo de pantalla completa. Si se cumplen los requisitos previos y se establece la propiedad fullScreenTakeOver en true , Flash Player utiliza la aceleración de hardware para escalar el archivo de vídeo, en lugar de hacerlo a través del software. Si el componente FLVPlayback se ejecuta en una versión anterior de Flash Player, o si los requisitos previos para la aceleración de hardware no existen, Flash Player escala el archivo de vídeo, de la misma manera como lo hizo anteriormente.

Para sacar partido de la aceleración de hardware para la compatibilidad de pantalla completa, el PC debe tener una tarjeta de vídeo compatible con DirectX 7 con 4 MB o más de VRAM (RAM de vídeo) Esta compatibilidad de hardware está disponible en Windows 2000 o Mac OS X 10.2 y en versiones posteriores de dichos sistemas operativos. Direct X® proporciona API que incluyen una interfaz entre el software y el hardware de vídeo para acelerar gráficos tridimensionales y bidimensionales, entre otras características.

Para sacar provecho del modo de aceleración de hardware, también se debe invocar el modo de pantalla completa de una de las siguientes maneras:

  • Utilizando el conmutador de pantalla completa en un aspecto de FLVPlayback

  • Utilizando el control de vídeo FullScreenButton

  • Utilizando el método enterFullScreenDisplayState() de ActionScript. Para más información, consulte Uso de enterFullScreenDisplayState() .

    Si se invoca el modo de pantalla completa estableciendo la propiedad Stage.displayState en StageDisplayState.FULLSCREEN , FLVPlayback no utiliza la aceleración de hardware, aun si se cuenta con memoria y hardware de vídeo.

    Una consecuencia de utilizar la aceleración de hardware para la compatibilidad de pantalla completa es que los aspectos de FLVPlayback se escalan junto con el reproductor de vídeo y el archivo de vídeo. La siguiente imagen muestra el efecto del modo de pantalla completa con la aceleración de hardware en el aspecto de FLVPlayback y se muestra un detalle en resolución completa.

    Modo de pantalla completa en un monitor de 1600 x 1200 con un vídeo de 320x240 píxeles
    Modo de pantalla completa en un monitor de 1600 x 1200 con un vídeo de 320x240 píxeles

    Esta imagen muestra la utilización del modo de pantalla completa en un monitor de 1600 x 1200 con un archivo de vídeo que tiene una anchura de 320 y una altura de 240, que son las dimensiones predeterminadas de FLVPlayback. El efecto de distorsión en el aspecto aparece más pronunciado en los archivos FLV con dimensiones más pequeñas o en un monitor más grande. Contrariamente, el efecto de distorsión es menos pronunciado en archivos FLV más grandes o en monitores más pequeños. Por ejemplo, si se cambia de 640 x 480 a 1600 x 1200 se aumenta el tamaño del aspecto pero aparece menos distorsionado.

    Se puede establecer la propiedad skinScaleMaximum para limitar el escalado del aspecto de FLVPlayback. El valor predeterminado es 4.0 o 400 %. Sin embargo, la limitación del escalado del aspecto requiere una combinación de hardware y software para escalar el FLV y esto puede afectar negativamente el rendimiento en FLV que tienen grandes dimensiones codificados a una velocidad alta de transferencia. Si el vídeo es grande (por ejemplo, 640 píxeles de ancho o más, 480 píxeles de alto o más), no debe establecer skinScaleMaximum con un valor pequeño, ya que podrían producirse problemas de rendimiento evidentes en monitores de gran tamaño. La propiedad skinScaleMaximum permite controlar las compensaciones ente el rendimiento y la calidad y la apariencia de un aspecto grande.

Salir del modo de pantalla completa

Para salir del modo de pantalla completa, haga clic otra vez en el botón de pantalla completa o pulse la tecla Esc.

Si se establecen las siguientes propiedades y se llaman a los siguientes métodos se pueden producir cambios en el diseño provocando que el componente FLVPlayback abandone el modo de pantalla completa: height , registrationHeight , registrationWidth , registrationX , registrationY , scaleX , scaleY , width , x , y , setScale() o setSize() .

Si se establece la propiedad align o scaleMode , FLVPlayback las establece en center y maintainAspectRatio hasta que se salga del modo de pantalla completa.

Si se cambia el valor de la propiedad fullScreenTakeOver de true a false cuando se está utilizando la pantalla completa, el modo de aceleración de hardware también hace que Flash abandone el modo de pantalla completa.