Javascript mediaElementjs:如何获取播放器的实例
我遇到了MediaElement.js播放器的一个小问题 为了获得播放器的实例,我这样做(使用兼容html5的浏览器): 但一旦它在flash中回退,它就不工作了。事实上,它不起作用,因为我没有调用MediaElement本身的实例。但我不知道怎么称呼它 玩家是用Javascript mediaElementjs:如何获取播放器的实例,javascript,jquery,html,html5-video,mediaelement,Javascript,Jquery,Html,Html5 Video,Mediaelement,我遇到了MediaElement.js播放器的一个小问题 为了获得播放器的实例,我这样做(使用兼容html5的浏览器): 但一旦它在flash中回退,它就不工作了。事实上,它不起作用,因为我没有调用MediaElement本身的实例。但我不知道怎么称呼它 玩家是用 $('video').mediaelementplayer({....}); 如何获取mediaelement对象 ------------编辑---------------- 好的,我终于找到了让它工作的方法: // Ge
$('video').mediaelementplayer({....});
如何获取mediaelement对象
------------编辑----------------
好的,我终于找到了让它工作的方法:
// Get player
mePlayer = $('div#shotlist-player video.video-js')[0];
this.player = new MediaElementPlayer(mePlayer);
现在我可以正确使用mediaElement实例了。试试:
var player = $('video').mediaelementplayer({
success: function (me) {
me.play();
}
});
// then you can use player.id to return the id
// or player.play();
这篇文章有很多猜测,但可能是正确的。缺少文件( 如果您希望创建一个新的MediaElement实例并获得该实例的句柄,那么by的答案是完全可以接受的。如果已经存在一个实例,则它似乎试图重新初始化该元素上的另一个实例,并且会崩溃 我确信mediaelement.js通过提供JavaScript API来通过这些元素操纵Flash/Silverlight播放器,从而增强了内置HTML5控件。我可能错了,但我在多个地方看到的关于这个问题的其他建议是:
$playButton.click(function() {
$('video, audio').each(function() {
$(this)[0].player.play();
});
});
创建一个播放按钮作为外部DOM元素,该元素将触发页面上的所有播放机。这向我表明,该实现与我所描述的类似。您可以以更好的方式获得播放机:
This.player=$('div#shotlist player video')[0];
-实际上,我认为window[id]只在IE中工作(这是有史以来最愚蠢、最烦人的错误功能之一)谢谢你的评论,但实际上,我仍然没有选择mediaelement实例,而是直接选择播放器,这不是我需要的(我也需要能够控制flash播放器)。
$playButton.click(function() {
$('video, audio').each(function() {
$(this)[0].player.play();
});
});