He creado un reproductor de vídeo, pero es necesario añadir un botón que, al pulsarlo, pone el video en pantalla completa en el modo de visualización. No quiero a escala de todo en el escenario – sólo el vídeo. Me parece que no puede encontrar la manera de hacer esto – pensé que iba a ser fácil.

InformationsquelleAutor | 2009-09-21

5 Comentarios

  1. 2

    Ver si esto funciona:

    stage.displayState = StageDisplayState.FULL_SCREEN;
    videoPlayer.x = 0;
    videoPlayer.y = 0;
    //save the width and height in temp vars 
    //for restoring them later.
    videoPlayer.width = stage.fullScreenWidth;
    videoPlayer.height = stage.fullScreenHeight;
    • esto es correcto… ^^^
  2. 1

    Mi entendimiento es que sólo se puede establecer el conjunto de la etapa a pantalla completa, no elementos de forma selectiva, como son de manera efectiva la ampliación de la etapa de objeto en la raíz del árbol de presentación. La mejor manera de lograr el efecto que buscas sería la de organizar/ocultar/mostrar todos los objetos que no quieres ser visible en un FullScreenEvent.FULL_SCREEN controlador de eventos.

    http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/FullScreenEvent.html

    También un bocado de la Etapa docs, displayState sección:

    El comportamiento de la escala de la película en modo de pantalla completa está determinado por la propiedad scaleMode de ajuste (set utilizando el Escenario.propiedad scaleMode o el archivo SWF de la etiqueta embed configuración en el archivo HTML). Si la propiedad scaleMode se establece a noScale mientras que la aplicación de las transiciones a modo de pantalla completa, la Etapa de la anchura y la altura se actualizan las propiedades, y el Escenario del evento de cambio de tamaño.

  3. 1

    Encontré con este problema recientemente y esto funcionó como un encanto. Para poner esto aquí por si ayuda a alguien.

    Flex código de Cliente:

    private function startFullScreen(event:MouseEvent):void
    {    
        videoHolder.removeChild(vid);  //videoHolder is an spark VideoDisplay  
                                           Component
        this.stage.addChild(vid);           
        this.stage.displayState = StageDisplayState.FULL_SCREEN;
        oldWidth = vid.width;         //store old values required while going back
        oldHeight = vid.height;
        vid.width = this.stage.width;
        vid.height = this.stage.height;
        this.stage.addEventListener(FullScreenEvent.FULL_SCREEN,fullScreenHandler);
    }
    } 
    
    
    /*      handler for Fullscreen      */
    private function fullScreenHandler(event:FullScreenEvent):void
    {
        //This function is called when user presses Esc key 
        //on returning to normal state, add the video back  
    
        if(!event.fullScreen)
        {               
            this.stage.removeChild(vid);
            videoHolder.addChild(vid);
            vid.width = oldWidth;
            vid.height = oldHeight;
            this.stage.removeEventListener(FullScreenEvent.FULL_SCREEN,fullScreenHandler )
        }
    }
  4. 0

    Si los elementos en el escenario son de escala suena como si usted está utilizando el fullScreenRect de la propiedad en lugar de simplemente instruir al objeto stage para entrar en modo de pantalla completa.

    Amarghosh tiene el enfoque correcto, pero puede ser más flexible, adjuntando un oyente:

    stage.addEventListener(Event.RESIZE, _onStageResize, false, 0, true);
    stage.displayState = StageDisplayState.FULL_SCREEN;
    
    private function _onStageResize(event:Event):void
    {
        if(stage.displayState == StageDisplayState.FULL_SCREEN)
        {
            //Proportionally resize your video to the stage's new dimensions
            //i.e. set its height and width such that the aspect ratio is not distorted
        }
        else
        {
            //Restore the normal layout of your elements
        }
    }
  5. 0

    Para Entrar En Modo De Pantalla Completa

    var fullScreenButton:Button = new Button();
    ...
    addChild(fullScreenButton); 
    fullScreenButton.addEventListener(MouseEvent.CLICK, fullScreenButtonHandler);
    ...
    private function fullScreenButtonHandler(event:MouseEvent) 
    {  
        var screenRectangle:Rectangle = new Rectangle(video.x, video.y, video.width, video.height); 
        stage.fullScreenSourceRect = screenRectangle; 
        stage.displayState = StageDisplayState.FULL_SCREEN;  
    }

    Para Salir Del Modo De Pantalla Completa

    ...
    stage.displayState = StageDisplayState.NORMAL;
    ...

    Nota: también puede presionar la tecla escape.

    Fuente: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS44B1892B-1668-4a80-8431-6BA0F1947766.html

    • Pero aquí no cambiar el tamaño del reproductor de vídeo ?!!!

Dejar respuesta

Please enter your comment!
Please enter your name here