在本文中,我们将带你了解使用JQuery播放/暂停HTML5视频在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的html5–无法使用Jquery绑定视频事件、html5–点击HTML5视频
在本文中,我们将带你了解使用JQuery播放/暂停HTML 5视频在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的html5 – 无法使用Jquery绑定视频事件、html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮、html5-video – Slick.js和html5视频自动播放和视频暂停、HTML5视频无法在iPad上使用jquery bxSlider插件。
本文目录一览:- 使用JQuery播放/暂停HTML 5视频
- html5 – 无法使用Jquery绑定视频事件
- html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮
- html5-video – Slick.js和html5视频自动播放和视频暂停
- HTML5视频无法在iPad上使用jquery bxSlider插件
使用JQuery播放/暂停HTML 5视频
我正在尝试使用JQuery控制HTML5视频。我在选项卡式界面中有两个剪辑,总共有六个选项卡,其他只是图像。我试图使视频剪辑在单击选项卡时播放,然后在单击其他任何一个时停止播放。
这一定是一件简单的事情,但是我似乎无法正常工作,我用来播放视频的代码是:
$(''#playMovie1'').click(function(){ $(''#movie1'').play(); });
我已经读过,视频元素需要在函数中公开才能控制它,但找不到示例。我可以使用JS使其工作:
document.getElementById(''movie1'').play();
任何建议都很好。谢谢
答案1
小编典典您的解决方案在这里显示了问题-play
不是jQuery函数,而是DOM元素的函数。因此,您需要在DOM元素上调用它。您将举例说明如何使用本机DOM函数执行此操作。相当于jQuery的-
如果您想做到与现有的jQuery选择相适应-
将会是$(''#videoId'').get(0).play()
。(get
从jQuery选择中获取本机DOM元素。)
html5 – 无法使用Jquery绑定视频事件
<video width="videoWidth" height="videoHeight" poster="../Poster/poster.png" id="videoId" controls="controls" muted="true" seeking="true" paused="true" > <source src="../video/trailer.mp4" type="video/mp4"/> <source src="../video/trailer.ogv" type="video/ogv"/> <source src="../video/trailer.webm" type="video/webm"/> Your browser does not support the video tag. </video>
这是用于绑定事件的JS文件包含.
$("#videoId").bind('ended',function() { alert("Entered"); });
UPDATE
我正在更新以前的JS,现在它正在为所有视频事件工作.现在我坚持错误事件,事件将基于事件代码触发.可能我写错了,但是错误事件不能正常工作.我是JS
$(document).ready(function(){ $("#videoId").bind('play',function() { alert("Play"); }); $("#videoId").bind('canplay',function() { alert("Can Play"); }); $("#videoId").bind('empited',function() { alert("Empited"); }); $("#videoId").bind('ended',function() { alert("Ended"); }); $("#videoId").bind('loadstart',function() { alert("Load Start"); }); $("#videoId").bind('pause',function() { alert("Pause"); }); $("#videoId").bind('playing',function() { alert("Playing"); }); $("#videoId").bind('progress',function() { alert("Progress"); }); $("#videoId").bind('suspend',function() { alert("Suspend"); }); $("#videoId").bind('volumechange',function() { alert("Volume"); }); $("#videoId").bind('waiting',function() { alert("waiting"); }); $("#videoId").bind('error',function(e,ui) { switch (e.target.error.code) { case e.target.error.MEDIA_ERR_ABORTED: alert('You aborted the video playback.'); break; case e.target.error.MEDIA_ERR_NETWORK: alert('A network error caused the video download to fail part-way.'); break; case e.target.error.MEDIA_ERR_DECODE: alert('The video playback was aborted due to a corruption problem or because the video used features your browser did not support.'); break; case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED: alert('The video Could not be loaded,either because the server or network Failed or because the format is not supported.'); break; default: alert('An unkNown error occurred.'); break; } //alert("Error Code : "+event.target.error.code); }); });
在控制台我得到’获取’.
解决方法
$("video").on("error",function(err) { for (var i in err.currentTarget.error) { alert(i + ": " + err.currentTarget.error[i]); } });
html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮
<video width="600" height="409" id="videoPlayer" controls="controls"> <!-- MP4 Video --> <source src="video.mp4" type="video/mp4"> </video> <script> var videoPlayer = document.getElementById('videoPlayer'); // Auto play,half volume. videoPlayer.play() videoPlayer.volume = 0.5; // Play / pause. videoPlayer.addEventListener('click',function () { if (videoPlayer.paused == false) { videoPlayer.pause(); videoPlayer.firstChild.nodeValue = 'Play'; } else { videoPlayer.play(); videoPlayer.firstChild.nodeValue = 'Pause'; } }); </script>
你有什么想法为什么会打破播放和暂停控制按钮?
解决方法
HTML:
<video><source src=""></video>
JAVASCRIPT:“JQUERY”
$('.video').click(function(){this.paused?this.play():this.pause();});
html5-video – Slick.js和html5视频自动播放和视频暂停
我目前有以下代码,有一个带有垂直光滑幻灯片的双滑块和一个主要部分,大图像和视频将出现并自动滚动.这将在电视上托管,因此不会有用户互动.
WelcomeTV Screen Site
如何在幻灯片播放完成后将幻灯片完全播放,播放完毕后,继续播放幻灯片并无限期重复播放.视频可能包含各种长度,因此需要动态检测长度.
我尝试在this question上实现代码但是我无法让我的示例正常工作.
<div id="slideBox"> <!--Sidebar--> <div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100/C8102E/FFFFFFF?text=Video" /></div> </div> <div id="main-image"> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div id="slide-video"> <video autoplay loop width="900px"> <source src="video/SampleVideo.mp4" /> </video> </div> </div> <script type="text/javascript"> $(document).ready(function(){ $('.sliderMain').slick({ slidesToShow: 1,slidesToScroll: 1,arrows: false,fade: true,asNavFor: '.sliderSidebar',autoplay: true,autoplaySpeed: 3000,onAfterChange : function() { player.stopVideo(); } }); $('.sliderSidebar').slick({ slidesToShow: 5,asNavFor: '.sliderMain',dots: false,centerMode: false,focusOnSelect: true,vertical: true,arrows: false }); var video = $('.sliderMain .slick-active').find('video').get(0).play(); $('.sliderMain').on('afterChange',function(event,slick,currentSlide,nextSlide){ $('.sliderMain .slick-slide').find('video').get(0).pause(); var video = $('.sliderMain .slick-active').find('video').get(0).play(); }); }); </script>
Demo
解决方法
当视频幻灯片成为currentSlide时,您需要:
>暂停滑块
>播放视频
您可以使用slick.js事件在更改后执行此操作:
$('.sliderMain').on('afterChange',currentSlide){ if (currentSlide == 5) { $('.sliderMain').slick('slickPause'); myVideo.play(); } });
您还需要为视频结束添加事件侦听器,以便命令滑块继续.你可以这样做:
document.getElementById('myVideo').addEventListener('ended',myHandler,false); function myHandler(e) { $('.sliderMain').slick('slickPlay'); }
如果您遇到此问题,请添加一个JSfiddle,我会尽力帮助您.
编辑:这是一个工作JSFiddle
$(document).ready(function() { $('.sliderMain').slick({ slidesToShow: 1,autoplaySpeed: 3000 }); $('.sliderSidebar').slick({ slidesToShow: 5,arrows: false }); $('.sliderMain').on('afterChange',currentSlide) { if (currentSlide == 5) { $('.sliderMain').slick('slickPause'); theVideo.play(); } }); document.getElementById('theVideo').addEventListener('ended',false); function myHandler(e) { $('.sliderMain').slick('slickPlay'); } });
#slideBox { width: 1300px; max-height: 500px; overflow: hidden; margin: 1% auto; position: relative; top: 1em; background-color: #54585A; border-radius: .3em; } video { background-color: black; } #slideBox .slick-vertical .slick-slide { border: none; } .sliderSidebar { width: 200px; height: 500px; float: left; } #slideBox .slick-vertical .slick-slide { border: none; } .sliderMain { width: 900px; height: 500px; position: relative; float: left; }
<div id="slideBox"> <!--Sidebar--> <div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100"></div> <div><img src="http://placehold.it/200x100/C8102E/FFFFFFF?text=Video" /></div> </div> <div id="main-image"> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div><img src="http://placehold.it/900x500"></div> <div id="slide-video"> <video width="900px" id="theVideo"> <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" /> </video> </div> </div> </div> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.7.1/slick.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.7.1/slick-theme.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.7.1/slick.min.js"></script>
HTML5视频无法在iPad上使用jquery bxSlider插件
<video width="400" height="260" controls> <source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4; codecs="avc1.42E01E,mp4a.40.2"' /> </video>
视频源代码在iPad上工作正常,但是当与滑块标记合并时,视频不播放。
测试链接:http://www.ekimmedia.com/totem/TIC/MG/
如果我删除这个脚本:
<script src="js/jquery.bxSlider.js" type="text/javascript"></script>
从源代码,视频然后在iPad上工作。
测试链接与bxSlider脚本删除:http://www.ekimmedia.com/totem/TIC/MG/index10.html
不确定是什么导致冲突。
谢谢,
解决方法
在我的最终设置中,我在js文件夹中有4个本地文件:jquery-2.2.2.min.js,jquery.bxslider.css,jquery.bxslider.js和jquery.fitvids.js。 js文件夹还包括images.png和bx_loader.gif的图像子文件夹。
这一切都在HTML文件中被引用如下:
<head> <link rel="stylesheet" href="js/jquery.bxslider.css"> <script src="js/jquery-2.2.2.min.js"></script> <script src="js/jquery.fitvids.js"></script> <script src="js/jquery.bxslider.js"></script> <script type="text/javascript"> $(document).ready(function () { $('.bxslider').bxSlider({ video: true,useCSS: false }); }); </script> </head> <body> <ul> <li> <iframe src="YOUR_LINK_TO_VIDEO" width="400" height="260" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> </li> <li> <iframe src="YOUR_LINK_TO_VIDEO" width="400" height="260" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> </li> </ul> </body>
我已经在iOS设备上测试了我的解决方案,一切似乎都可以正常工作。这个问题有一些类似的solution,你也可以看看。
我们今天的关于使用JQuery播放/暂停HTML 5视频的分享就到这里,谢谢您的阅读,如果想了解更多关于html5 – 无法使用Jquery绑定视频事件、html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮、html5-video – Slick.js和html5视频自动播放和视频暂停、HTML5视频无法在iPad上使用jquery bxSlider插件的相关信息,可以在本站进行搜索。
本文标签: