Controlar la posición y el tamaño de la vista de vídeo

Puede controlar la posición y el tamaño de la vista de vídeo mediante el objeto MediaPlayerView.

De forma predeterminada, TVSDK intenta mantener la relación de aspecto de la vista de vídeo siempre que cambia el tamaño o la posición del vídeo (debido a un cambio realizado por la aplicación, por un conmutador de perfil, por un conmutador de contenido, etc.).

Puede anular el comportamiento de relación de aspecto predeterminado especificando un política de escalado. Especifique la política de escalado mediante la variable MediaPlayerView del objeto scalePolicy propiedad. El MediaPlayerViewLa política de escalado predeterminada de se define con una instancia de MaintainAspectRatioScalePolicy clase. Para restablecer la política de escalado, sustituya la instancia predeterminada de MaintainAspectRatioScalePolicy el MediaPlayerView.scalePolicy con su propia política. (No se puede establecer el scalePolicy propiedad a un valor nulo).

  1. Implementación de MediaPlayerViewScalePolicy para crear su propia política de escalado.

    El MediaPlayerViewScalePolicy tiene un método:

    public function adjust(viewPort:Rectangle,
      videoWidth:Number, videoHeight:Number):Rectangle;
    
    NOTA

    TVSDK utiliza un StageVideo para mostrar el vídeo y porque StageVideo Los objetos de no están en la lista de visualización. viewPort contiene las coordenadas absolutas del vídeo.

    Por ejemplo:

    public class CustomScalePolicy implements MediaPlayerViewScalePolicy {
           /**
             * Default constructor.
             */
           public function CustomScalePolicy() {
           }
    public function adjust(viewPort:Rectangle, > videoWidth:Number, > videoHeight:Number):Rectangle { > return customAdjustment(); > } > > public function customAdjustment():Rectangle { > /* Your custom adjustment here */ > [...] > } >} >``` >
  2. Asigne la implementación a MediaPlayerView propiedad.

    var view:MediaPlayerView = MediaPlayerView.create(stage.stageVideos[0]);
    view.scalePolicy = new CustomScalePolicy();
    
  3. Añada la vista al reproductor multimedia view propiedad.

    addChild(view);
    
    mediaPlayer.view = view;
    

Por ejemplo: escale el vídeo para rellenar toda la vista de vídeo, sin mantener la proporción de aspecto:

package com.adobe.mediacore.samples.utils {
    import com.adobe.mediacore.view.MediaPlayerViewScalePolicy;
    import flash.geom.Rectangle;

    /**
    * A very simple custom scale policy - the video will fill the entire
    * allocated space. The aspect ratio will not be kept.
    */
    public class CustomScalePolicy implements MediaPlayerViewScalePolicy {

        /**
        * Default constructor.
        */
        public function CustomScalePolicy() {
        }

        public function adjust(viewPort:Rectangle,
                               videoWidth:Number,
                               videoHeight:Number):Rectangle {
            return viewPort;
        }
    }
}

var view:MediaPlayerView = MediaPlayerView.create(stage.stageVideos[0]);
view.scalePolicy = new CustomScalePolicy();
addChild(view);
mediaPlayer.view = view;

En esta página