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

Última actualización: 2023-09-19

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

TVSDK del explorador intenta de forma predeterminada mantener la relación de aspecto de la vista de vídeo siempre que el tamaño o la posición del vídeo se modifican debido a un cambio realizado por la aplicación, un conmutador de perfil, 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. La política de escala predeterminada de MediaPlayerView se configura 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.

IMPORTANTE

No puede establecer el scalePolicy propiedad a un valor nulo.

Situaciones de reserva que no sean de Flash

En escenarios de reserva que no son de Flash, para que la directiva de escala funcione correctamente, el elemento div de vídeo se proporciona en la variable View el constructor debe devolver valores distintos de cero para offsetWidth y offsetHeight. Para dar un ejemplo de función incorrecta, a veces cuando la anchura y la altura de los elementos div de vídeo no se establecen explícitamente en css, la variable View el constructor devuelve cero para offsetWidth o offsetHeight.

NOTA

CustomScalePolicy tiene compatibilidad limitada con algunos exploradores, especialmente IE, Edge y Safari 9. En estos exploradores, la relación de aspecto nativa del vídeo no se puede cambiar. Sin embargo, la posición y las dimensiones del vídeo se aplicarán según la política de escala.

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

    El MediaPlayerViewScalePolicy tiene un método:

    /**
    * Adjust the specified rectangle to match the new video dimensions.
    * @param viewPort {AdobePSDK.Rectangle}The video rectangle as absolute position.
    * @param videoWidth {Number}The video width.
    * @param videoHeight {Number} The video height.
    * @return {AdobePSDK.Rectangle} an adjusted rectangle.
    */
    function adjustCallbackFunc(viewPort, videoWidth, videoHeight);
    

    Por ejemplo:

    /**
    Default Constructor
    */
    MediaPlayerViewCustomScalePolicy = function() {
        return this;
    };
    MediaPlayerViewCustomScalePolicy.prototype = {
        constructor: MediaPlayerViewScalePolicy,
        adjustCallbackFunc: function(viewPort, videoWidth, videoHeight) {
            /* Your Custom Adjustment here. */
            [...]
            return adjustedRectangle;
        }
    };
    
  2. Asigne la implementación a MediaPlayerView propiedad.

    var view = new AdobePSDK.MediaPlayerView(videoDiv);
    view.scalePolicy= new MediaPlayerViewCustomScalePolicy();
    
  3. Añada la vista al reproductor multimedia view propiedad.

    mediaplayer.view = view;
    

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

/**
 * Default constructor.
 */
MediaPlayerViewCustomScalePolicy = function() {
    return this;
};
MediaPlayerViewCustomScalePolicy.prototype = {
    constructor: MediaPlayerViewScalePolicy,
    /**
    * A very simple custom scale policy - the video will fill the entire
    * allocated space. The aspect ratio will not be kept.
    */
    adjustCallbackFunc: function(viewPort, videoWidth, videoHeight) {
        return viewPort;
    }
};
var view = new AdobePSDK.MediaPlayerView(videoDiv);
view.scalePolicy = new MediaPlayerViewCustomScalePolicy ();
mediaPlayer.view = view;

En esta página