我需要访问MediaElementPlayer对象的属性,如何做到这一点?该网站提到,您可以从currentTime对象访问像MediaElement和paused这样的属性,但没有提到MediaElementPlayer。我想做的一个例子是:
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);
....
};上面的代码报告所有这些变量都是未定义的。
发布于 2015-04-21 02:10:17
在与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);
....
};发布于 2014-10-03 02:43:27
编辑
如果要访问播放机的属性,则应该获取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);
});
}
});你可以试试,在这里玩小提琴
https://stackoverflow.com/questions/26171989
复制相似问题