如何成功销毁MediaElementPlayer并创建一个新的

Ian*_*lin 5 mediaelement.js

这是场景:

我有一个页面,其中包含一个video设置了视频的元素.此视频的来源可能是包含多个来源(以及Flash后备)或YouTube视频的HTML5视频.在这下面是一些用作视频缩略图的图像,点击一个应该加载适当的视频,通过销毁现有的MediaElementPlayer并在同一video元素上创建一个新的.

这会在页面加载时创建初始播放器:

$('video').mediaelementplayer({ alwaysShowControls: true });
Run Code Online (Sandbox Code Playgroud)

这是为了在单击其中一个图像时更改播放器:

$('video').mediaelementplayer({
   alwaysShowControls: true,
   success: function(media, dom, player) {
      console.log('success!');
   },
   error: function() {
      console.log('error!');
   }
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用.success永远不会输入该功能(两者都没有error),似乎没有任何事情发生.

我想图书馆仍然认为原始播放器存在或者其他东西,并尝试了许多事情来告诉它不是这种情况,例如:

mejs.meIndex = 0
mejs.players = []
Run Code Online (Sandbox Code Playgroud)

没有效果,并设置:

window.mejs = null;
window.MediaElementPlayer = null;
window.MediaElement = null;
Run Code Online (Sandbox Code Playgroud)

只是打破东西:)

任何人都可以帮忙吗?我确定我在这里遗漏了一些简单的东西,所以如果有人能指出什么,我会非常感激!提前致谢.

Ian*_*lin 1

我将在这里为可能遇到相同问题并偶然发现此条目的其他人回答我自己的问题。

事实证明,在撰写本文时,我想做的事情不支持我的 MediaElementJS。

我的解决方案是创建两个播放器,一个用于 HTML5/Flash 视频,另一个用于 YouTube 视频,根据需要显示和隐藏适当的播放器。