2012-02-13 3 views
4

プレーヤーがフルスクリーンになる(またはフルスクリーンから消える)たびにチェックが必要です。つまり、フルスクリーンのメソッドがトリガーされたときにカスタムイベントを聞く必要があります。以下のもの。MediaElement.jsプレーヤーがフルスクリーンになるときを知る

+1

また、私はこの答えを知っているように思います。メディア要素がフラッシュのフルスクリーンになると、コントロールがねじ止めされます。私はそれらを試して修正したいと思います。 –

答えて

5

あなたはのMediaElementを初期化する前に、コードのこのビットを追加する必要があります:

MediaElementPlayer.prototype.enterFullScreen_org = MediaElementPlayer.prototype.enterFullScreen; 
MediaElementPlayer.prototype.enterFullScreen = function() { 
    // Your code here 
    this.enterFullScreen_org(); 
} 
MediaElementPlayer.prototype.exitFullScreen_org = MediaElementPlayer.prototype.exitFullScreen; 
MediaElementPlayer.prototype.exitFullScreen = function() { 
    // Your code here 
    this.exitFullScreen_org(); 
} 
+0

すてきな回避策! – amypellegrini

+0

私は "this.dispatchEvent( 'enterfullscreen');のようなものを追加することで、このスクリプトをオリジナルスクリプトのアドオンとして配置します。プレーンコードの代わりに。この方法では、コードを汚くすることなく他のイベントとして処理することができます。もちろん、最善の方法はレポからフォークして実際の実装を行うことです! – amypellegrini

0

私もこの問題の解決策を見つけることを試みました。私の解決策は、Media Element PlayerオブジェクトのisFullScreenプロパティが変更されているのを見ることです。

サンプルコード:

... 
var mejsFullScreen; 
new MediaElementPlayer('#video', { 
    pluginPath: 'lib/mediaelement/', 
    flashName: 'flashmediaelement.swf', 
    success: function(mediaElement, DOMElement, player) { 
     mejsFullScreen= mediaElement.isFullScreen; 
     setInterval(function() { 
      if (mediaElement.isFullScreen != mejsFullScreen) { 
       if (mediaElement.isFullScreen) { 
        // do something on enter fullScreen 
        mejsFullScreen = mediaElement.isFullScreen; 
       } else { 
        // do something on leave fullScreen 
        mejsFullScreen = mediaElement.isFullScreen; 
       } 
      } 
     }, 500); 
    } 
}); 
関連する問題