作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是场景:
我有一个包含 video
的页面用视频设置的元素。此视频的来源可能是具有多个来源(和 Flash 后备)的 HTML5 视频或 YouTube 视频。
在这下面是许多用作视频缩略图的图像,单击其中一个应该加载适当的视频,方法是销毁现有的 MediaElementPlayer 并在同一个 video
上创建一个新的。元素。
这会在页面加载时创建初始播放器:
$('video').mediaelementplayer({ alwaysShowControls: true });
$('video').mediaelementplayer({
alwaysShowControls: true,
success: function(media, dom, player) {
console.log('success!');
},
error: function() {
console.log('error!');
}
});
success
函数从未被输入(也不是
error
)并且似乎什么也没发生。
mejs.meIndex = 0
mejs.players = []
window.mejs = null;
window.MediaElementPlayer = null;
window.MediaElement = null;
最佳答案
您可以使用 remove()
medialementjs 的方法,设置你的 video
的 type 和 src 属性元素,然后如果视频类型已更改,则重新初始化 mediaelementjs。
可能看起来像这样:
function setSource(url, type) {
var vid = $('#video').first();
if (vid.attr('type') != type) {
vid.get(0).player.remove();
vid.attr('type', type).attr('src', url);
vid.mediaelementplayer({
success: function(media, dom, player) {
player.play();
}
})
}
}
关于mediaelement.js - 如何成功销毁 MediaElementPlayer 并创建一个新的 MediaElementPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11258883/
我是一名优秀的程序员,十分优秀!