我在灯箱里放了HTML5视频。为什么要播放多个视频?如何阻止它们?
我弹出了一个Fancybox2窗口,其中包含以下代码:我在灯箱里放了HTML5视频。为什么要播放多个视频?如何阻止它们?,html,video,fancybox,mediaelement.js,fancybox-2,Html,Video,Fancybox,Mediaelement.js,Fancybox 2,我弹出了一个Fancybox2窗口,其中包含以下代码: var mediaElementPlayers = []; $("#video_list_widget a.video_link").fancybox({ padding : 0, width:500, height: 360, closeBtn: false, content: '<video width="500" height="360" controls="controls" auto
var mediaElementPlayers = [];
$("#video_list_widget a.video_link").fancybox({
padding : 0,
width:500,
height: 360,
closeBtn: false,
content: '<video width="500" height="360" controls="controls" autoplay="autoplay" preload="auto">
<source type="video/mp4" src="http://pathtomyvideo.mp4" />
<source type="video/webm" src="http://pathtomyvideo.webm" />
</video>',
afterShow: function() {
var mediaElementPlayers = [];
$('video,audio').each(function(){
mediaElementPlayers.push(new MediaElementPlayer(this));
console.log(mediaElementPlayers);
});
},
beforeClose: function(){
for (var i=0; i<mediaElementPlayers.length; i++){
console.log(mediaElementPlayers);
mediaElementPlayers[i].pause(); // pause
mediaElementPlayers[i].setCurrentTime(0); // rewind
}
$('.fancybox-inner').empty();
},
afterClose: function (){
$('video').remove();
}
});
var mediaElementPlayers=[];
$(“#视频列表"小部件a.video_link”).fancybox({
填充:0,
宽度:500,
身高:360,
closeBtn:false,
内容:'
',
afterShow:function(){
var mediaElementPlayers=[];
$('video,audio')。每个(函数(){
推送(新的MediaElementPlayer(此));
console.log(MediaElementPlayer);
});
},
beforeClose:function(){
对于(var i=0;i而言,这只是一个猜测,但我认为这与您的选择器有关
当你打开/播放一段视频时,它似乎也会触发页面上的其他播放器——我认为autoplay属性实际上是在帮助你,它向你展示了你的一些代码是针对页面上你不想弄乱的其他播放器的
我可以想象,这一行是问题所在,因为它在页面上全局运行,目标是页面上的所有音频和视频标记,而不仅仅是特定元素中的音频/视频标记:
$('video,audio').each(function(){
我会更改这一行,使其仅针对特定的音频/视频标记-您可以通过提供音频/视频标记和id属性或使用jQuery进行搜索来实现-我无法访问您的代码,因此这可能不起作用,但应该接近您需要的:
$(this).find('video,audio').each(function(){
希望这有帮助!这只是一个猜测,但我想这与您的选择器有关
当你打开/播放一段视频时,它似乎也会触发页面上的其他播放器——我认为autoplay属性实际上是在帮助你,它向你展示了你的一些代码是针对页面上你不想弄乱的其他播放器的
我可以想象,这一行是问题所在,因为它在页面上全局运行,目标是页面上的所有音频和视频标记,而不仅仅是特定元素中的音频/视频标记:
$('video,audio').each(function(){
我会更改这一行,使其仅针对特定的音频/视频标记-您可以通过提供音频/视频标记和id属性或使用jQuery进行搜索来实现-我无法访问您的代码,因此这可能不起作用,但应该接近您需要的:
$(this).find('video,audio').each(function(){
希望这有帮助!我不知道这对你有多重要,但我刚刚写了一篇关于如何在fancyBox中使用mediaelement.js播放视频的教程(虽然我只使用了mp4文件),我不知道这对你有多重要,但我刚刚写了一篇关于如何在fancyBox中使用mediaelement.js播放视频的教程(尽管我只使用了mp4文件)