2012-02-13 2 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

Я пытался найти решение этой проблемы, а также. Мое решение - посмотреть свойство isFullScreen объекта Player Mediaelement для изменений.

Пример кода:

... 
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); 
    } 
});