2014-10-03 7 views
0

MediaElementPlayer 개체의 속성에 액세스해야합니다. 어떻게해야합니까? 웹 사이트에 따르면 및 paused과 같은 속성을 MediaElement 개체에서 액세스 할 수 있다고 언급되어 있지만 MediaElementPlayer은 언급되지 않았습니다. 내가하고 싶은 것의 예 :MediaElement.js 플레이어 속성에 액세스

var mejsplayer = new MediaElementPlayer($("#myplayer"), mejsOptions); 

setInterval(debug, 1000); 
function debug() { 
    console.log("Duration is " + mejsplayer.duration); 
    console.log("Current time is " + mejsplayer.currentTime); 
    console.log("Volume is " + mejsplayer.volume); 
    .... 
}; 

위의 코드는 이러한 변수가 모두 정의되지 않았 음을보고합니다.

답변

0

그것을 시도 할 수 있습니다 MEJS와 마침내 나는이 질문에 대한 답을 발견했다. MediaElementPlayer 객체는 다음과 같이 액세스 할 수있는 MediaElement에 객체, 캡슐화 : 원래 답변

var mejsplayer = new MediaElementPlayer($("#myplayer"), mejsOptions); 

setInterval(debug, 1000); 
function debug() { 
    console.log("Duration is " + mejsplayer.media.duration); 
    console.log("Current time is " + mejsplayer.media.currentTime); 
    console.log("Volume is " + mejsplayer.media.volume); 
    .... 
}; 
3

편집

는 플레이어의 속성에 액세스 할 경우에는 DOM 객체를 얻어야한다. MediaElement는 요소의 확장 일종이므로 DOM 객체를 계속 사용합니다. 그래서이 시도 :

new MediaElementPlayer($("#myplayer"), /*mejsOptions*/); 
var player = document.getElementById('myplayer'); 
console.log(player.duration()); 

이 좋습니다 예를 들어,이 제공되는 이벤트를 사용 할 :

<video id="player1" width="320" height="240" poster="poster.jpg" controls="controls" preload="none"> 
    <!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 --> 
    <source type="video/mp4" src="http://mediaelementjs.com/media/echo-hereweare.mp4" /> 
</video> 

player = new MediaElementPlayer('#player1',{ 
    success: function (mediaElement, domObject, player) { 
     mediaElement.addEventListener('timeupdate', function(e) { 
      console.log("Duration is " + mediaElement.duration); 
      console.log("Current time is " + mediaElement.currentTime); 
      console.log("Volume is " + mediaElement.volume); 
     }); 
    } 
}); 

당신이 작업의 긴 시간 후 here on jsfiddle

+0

일을, 내가 편집 한 대답으로 DOM 요소에 액세스 할 수 없습니다. 또한 플레이어가 Flash 또는 Silverlight 대체 기능을 사용하는 경우에는 작동하지 않을 것이라고 생각합니다. 불행히도 부동산에 직접 액세스 할 수 없습니다! – bdunn

+0

맞습니다. DOM 객체를 사용하면 폴백을 사용할 수 없으며 HTML5 정품 속성/메소드 만 가져올 수 있습니다. – ClemSndr

관련 문제