Controllare la posizione e le dimensioni della visualizzazione video

È possibile controllare la posizione e le dimensioni della visualizzazione video utilizzando l'oggetto MediaPlayerView .

Il browser TVSDK per impostazione predefinita tenta di mantenere le proporzioni della visualizzazione video ogni volta che le dimensioni o la posizione del video vengono modificate a causa di una modifica apportata dall’applicazione, di un interruttore di profilo, di un interruttore di contenuto e così via.

È possibile ignorare il comportamento predefinito delle proporzioni specificando un diverso criterio di scalabilità. Specificare il criterio di scalabilità utilizzando la proprietà scalePolicy dell'oggetto MediaPlayerView. Il criterio di scalabilità predefinito di MediaPlayerView viene impostato con un'istanza della classe MaintainAspectRatioScalePolicy. Per reimpostare il criterio di scalabilità, sostituisci l’istanza predefinita di MaintainAspectRatioScalePolicy su MediaPlayerView.scalePolicy con il tuo criterio.

IMPORTANTE

Non è possibile impostare la proprietà scalePolicy su un valore null.

Scenari di fallback non Flash

In scenari di fallback non Flash, affinché il criterio di scalabilità funzioni correttamente, l’elemento div video fornito nel costruttore View deve restituire valori diversi da zero per offsetWidth e offsetHeight. Per fornire un esempio di funzione errata, a volte quando la larghezza e l’altezza degli elementi div del video non sono impostate esplicitamente in css, il costruttore View restituisce zero per offsetWidth o offsetHeight.

NOTA

Il supporto di CustomScalePolicy è limitato per alcuni browser, in particolare IE, Edge e Safari 9. Per questi browser, le proporzioni native del video non possono essere modificate. Tuttavia, la posizione e le dimensioni del video saranno applicate in base alla politica di scala.

  1. Implementa l'interfaccia MediaPlayerViewScalePolicy per creare criteri di scalabilità personalizzati.

    Il MediaPlayerViewScalePolicy dispone di un metodo:

    /**
    * 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);
    

    Ad esempio:

    /**
    Default Constructor
    */
    MediaPlayerViewCustomScalePolicy = function() {
        return this;
    };
    MediaPlayerViewCustomScalePolicy.prototype = {
        constructor: MediaPlayerViewScalePolicy,
        adjustCallbackFunc: function(viewPort, videoWidth, videoHeight) {
            /* Your Custom Adjustment here. */
            [...]
            return adjustedRectangle;
        }
    };
    
  2. Assegna l'implementazione alla proprietà MediaPlayerView .

    var view = new AdobePSDK.MediaPlayerView(videoDiv);
    view.scalePolicy= new MediaPlayerViewCustomScalePolicy();
    
  3. Aggiungi la visualizzazione alla proprietà view di Media Player.

    mediaplayer.view = view;
    

Ad esempio: Adatta il video a tutto il video, senza mantenere le proporzioni:

/**
 * 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;

In questa pagina