GVKun编程网logo

HTML5 视频播放(video),JavaScript控制视频的实例代码(html5中用于播放视频的代码)

12

如果您想了解HTML5视频播放(video),JavaScript控制视频的实例代码的相关知识,那么本文是一篇不可错过的文章,我们将对html5中用于播放视频的代码进行全面详尽的解释,并且为您提供关于

如果您想了解HTML5 视频播放(video),JavaScript控制视频的实例代码的相关知识,那么本文是一篇不可错过的文章,我们将对html5中用于播放视频的代码进行全面详尽的解释,并且为您提供关于canvid.js —— 极小的 JavaScript 视频播放库、H5基础篇--HTML5 audio与video标签实现视频播放,音频播放、HTML5 - 使用JavaScript控制的有价值的信息。

本文目录一览:

HTML5 视频播放(video),JavaScript控制视频的实例代码(html5中用于播放视频的代码)

HTML5 视频播放(video),JavaScript控制视频的实例代码(html5中用于播放视频的代码)

具体代码如下所示: Documenttitle> <style> <a href="https://www.jb51.cc/tag/fig/" target="_blank">fig</a>caption { text-align: center; line-height: 150px; font-family: "Microsoft Yahei"; font-size: 24px; } .player { width: 720px; height: 360px; margin: 10px auto; border: 1px solid #000; background-color: #000; position: relative; border-radius: 6px; } .player video { width: 720px; height: 360px; } .controls { width: 700px; height: 40px; background-color: rgba(255,255,0.3); position: absolute; b<a href="https://www.jb51.cc/tag/ott/" target="_blank">ott</a>om: 10px; left: 10px; border-radius: 10px; } .switch { position: absolute; width: 22px; height: 22px; background-color: red; left: 10px; top: 9px; border-radius: 50%; } .progress { width: 432px; height: 10px; position: absolute; background-color: rgba(255,0.4); left: 40px; top: 15px; border-radius: 4px; overflow: hidden; } .curr-progress { width: 0%; height: 100%; background-color: #fff; } .time { width: 120px; height: 20px; text-align: center; line-height: 20px; font-size: 12px; color: #fff; position: absolute; left: 510px; top: 10px; } .extend { position: absolute; width: 20px; height: 20px; background-color: red; right: 10px; top: 10px; } style> head> <body> <figure> <figcaption>视频案例<a href="https://www.jb51.cc/tag/fig/" target="_blank">fig</a>caption> <div> <video src="11.mp4">video> <div> <a href="#">a> <div> <div>div> div> <div> <span>00:00:00span>/ <span>00:00:00span> div> <a href="#">a> div> div> <a href="https://www.jb51.cc/tag/fig/" target="_blank">fig</a>ure> <script> var video = document.querySelector('video'); var playBtn = document.querySelector('.switch'); var currProgress = document.querySelector('.curr-progress'); var currTime = document.querySelector('.curr-time'); var totalTime = document.querySelector('.total-time'); var extend = document.querySelector('.extend'); var tTime = 0; playBtn.onclick = function() { if(video.paused){ // 如果视频是暂停的 video.play(); //play()播放 load()重新加载 pause()暂停 }else{ video.pause(); } } //当视频能播放(已经通过网络加载完成)时 video.oncanplay = function() { tTime = video.duration; //<a href="https://www.jb51.cc/tag/huoqu/" target="_blank">获取</a>视频总时长(单位秒) var tTimeStr = getTimeStr(tTime); totalTime.innerHTML = tTimeStr; } //当视频当前播放时间更新的时候 video.ontimeupdate = function() { var cTime = video.currentTime; //<a href="https://www.jb51.cc/tag/huoqu/" target="_blank">获取</a>当前播放时间 var cTimeStr = getTimeStr(cTime); console.log(cTimeStr); currTime.innerHTML = cTimeStr; currProgress.style.width = cTime/tTime*100+"%"; } extend.onclick = function() { video.webkitRequestFullScreen(); //视频全屏 } //将以秒为单位的时间变成“00:00:00”格式的字符串 function getTimeStr(time) { var h = Math.floor(time/3600); var m = Math.floor(time%3600/60); var s = Math.floor(time%60); h = h>=10?h:"0"+h; m = m>=10?m:"0"+m; s = s>=10?s:"0"+s; return h+":"+m+":"+s; } script> body> html></div> <!-- jb51-article-center --> <insdata-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-4605373693034661" data-ad-slot="1300602012"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <h2>总结</h2> <p>以上是<a href="https://www.jb51.cc" title="小编">小编</a>为你收集整理的<a href="https://www.jb51.cc/html5/15559.html" title="HTML5 视频播放(video),JavaScript控制视频的实例代码">HTML5 视频播放(video),JavaScript控制视频的实例代码</a>全部内容。</p> <p>如果觉得<a href="https://www.jb51.cc" title="小编">小编</a>网站内容还不错,欢迎将<a href="https://www.jb51.cc" title="小编网站">小编网站</a>推荐给好友。</p></div><div><a href="https://www.jb51.cc/tag/jsp/"target="_blank">js</a><a href="https://www.jb51.cc/tag/shipin/"target="_blank">视频</a><a href="https://www.jb51.cc/tag/shipinp/"target="_blank">视频</a><a href="https://www.jb51.cc/tag/pshipin/"target="_blank">视频</a><a href="https://www.jb51.cc/tag/shipinbofang/"target="_blank">视频播放</a></div></div> </div> </div> <!-- row end --> <div> <div> <div> <div> <h1>HTML5相关文章</h1> </div><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768160.html" title="javascript-将PNG Base-64字符串转换为TIFF Base-64字符串">javascript-将PNG Base-64字符串转换为TIFF Base-64字符串</a> </div> <div>我正在使用一个返回PNG编码的base64字符串的插件,我无法更改它,我必须使用它,但是我真正需要的是tiff编码值(base-64).有办法吗?我试图创建一个画布,加载pngbase64,然后使用toDataURL(‘image/tiff’),但经过一些研究,我发现不支持tiff作为toDataURL()的输出.有什么建议么?解决</div> </div> <!-- l end --><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768159.html" title="javascript-移动浏览器上的多点触控?">javascript-移动浏览器上的多点触控?</a> </div> <div>我有这个正在玩的浏览器游戏.但是我也在尝试使其也可以在移动浏览器中使用.但是当同时按下多个按钮时,我似乎无法使其正常工作.我有这个游戏,您可以左右移动并跳跃.(见下图)touchbuttonsingamehttp://www.userhome.org/mobilegame.png我的代码如下所示:functioninittouc</div> </div> <!-- l end --><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768158.html" title="javascript-如何设置x和y轴的交点">javascript-如何设置x和y轴的交点</a> </div> <div>我正在使用d3.js进行散点图绘制,我想绘制x和y轴以使其在点(100,75)相交.如何做到这一点?我在用svg.append("g").attr("class","axis").attr("transform","translate(0,"+(padding+223)+")").call(xAxis2);//CreateY2ax</div> </div> <!-- l end --><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768157.html" title="jQuery-使用JavaScript在图像上画一条线">jQuery-使用JavaScript在图像上画一条线</a> </div> <div>我在htmlimg标签中有一张图片.我的要求是,当用户单击图像时,它将在拖动鼠标的同时标记一个点并画一条线.然后,当用户完成拖动并单击图像时,它应该显示的线条还以毫米/厘米为单位显示线条的尺寸.即,用户必须在图像上画一条线并显示其画线的距离/长度(以毫米/厘米为单位).如何在Web</div> </div> <!-- l end --><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768156.html" title="用于JavaScript / HTML5的RTSP解决方案">用于JavaScript / HTML5的RTSP解决方案</a> </div> <div>我正在开发智能电视应用程序,并且从IP摄像机流媒体直播视频是该功能的很大一部分.相机手册指出,如果将其设置为流MPEG-4或H.264,则不支持HTTP.只有RTSP/RTP.替代方法(通过HTTP)是MotionJPEG,我希望尽可能避免这种情况(电视上的帧速率糟透了).是否有用于RTSP的JavaScript/HT</div> </div> <!-- l end --><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768155.html" title="javascript-在视频中跳转到数组中的时间">javascript-在视频中跳转到数组中的时间</a> </div> <div>遵循ControlstartpositionanddurationofplayinHTML5video的原则,我尝试使每个片段播放完后自动将视频从一个片段跳到下一片段.每个片段的持续时间相同,每个片段的开始时间位于一个数组中.我似乎无法弄清楚如何在addEventListener之后循环遍历数组.varvideo=document</div> </div> <!-- l end --><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768154.html" title="javascript-空白PNG /污染的画布可能无法导出(不使用图像)">javascript-空白PNG /污染的画布可能无法导出(不使用图像)</a> </div> <div>我正在尝试将相当简单的html导出到canvas,然后导出到png.为此,我正在使用rasterizeHTML(http://cburgmer.github.ioasterizeHTML.js/).我面临的问题是,我收到一条警告,例如正在加载外部图像/资源,但我没有.这是我尝试过的:HTML:<canvasheight="500"width="500"id="rasterize</div> </div> <!-- l end --><!-- l --> <div> <div> <a href="https://www.jb51.cc/html5/3768153.html" title="javascript-包含非数字字符时,使用JS获取值">javascript-包含非数字字符时,使用JS获取值</a> </div> <div>Thisjsfiddledemonstratesthefollowingissue.最简单的示例是:<inputid="number"type="number"value="1">console.log(document.getElementById('number').value);这将按预期记录1.但是,这:<inputid="number"type</div> </div> <!-- l end --></div> </div> </div> </div> <!-- left end--> <!-- right --> <div> <!-- row --> <div> <div> <!-- jb51-article-right1 --> <insdata-ad-client="ca-pub-4605373693034661" data-ad-slot="7710637872" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <!-- row end --> <!-- row --> <div> <div> <div> <label>热门文章</label> <ul><li><a href="https://www.jb51.cc/html5/3768160.html" title="javascript-将PNG Base-64字符串转换为TIFF Base-64字符串" >• javascript-将PNG Base-64字符串转换为</a></li><li><a href="https://www.jb51.cc/html5/3768159.html" title="javascript-移动浏览器上的多点触控?" >• javascript-移动浏览器上的多点触控?</a></li><li><a href="https://www.jb51.cc/html5/3768158.html" title="javascript-如何设置x和y轴的交点" >• javascript-如何设置x和y轴的交点</a></li><li><a href="https://www.jb51.cc/html5/3768157.html" title="jQuery-使用JavaScript在图像上画一条线" >• jQuery-使用JavaScript在图像上画一条线</a></li><li><a href="https://www.jb51.cc/html5/3768156.html" title="用于JavaScript / HTML5的RTSP解决方案" >• 用于JavaScript / HTML5的RTSP解决方案</a></li><li><a href="https://www.jb51.cc/html5/3768155.html" title="javascript-在视频中跳转到数组中的时间" >• javascript-在视频中跳转到数组中的时间</a></li><li><a href="https://www.jb51.cc/html5/3768154.html" title="javascript-空白PNG /污染的画布可能无法导出(不使用图像)" >• javascript-空白PNG /污染的画布可能无</a></li><li><a href="https://www.jb51.cc/html5/3768153.html" title="javascript-包含非数字字符时,使用JS获取值" >• javascript-包含非数字字符时,使用JS获</a></li><li><a href="https://www.jb51.cc/html5/3768152.html" title="Spring形式:输入HTML5必需属性" >• Spring形式:输入HTML5必需属性</a></li><li><a href="https://www.jb51.cc/html5/3768151.html" title="javascript-如何明确要求最终用户不要删除本地存储数据?" >• javascript-如何明确要求最终用户不要删</a></li></ul> </div> </div> </div> <!-- row end --> <!-- row --> <div> <div> <div> <label>热门标签<a href="https://www.jb51.cc/all">更多</a></label> <div><a href="https://www.jb51.cc/tag/HTML/" title="HTML">HTML</a><a href="https://www.jb51.cc/tag/reactjs/" title="reactjs">reactjs</a><a href="https://www.jb51.cc/tag/CSS/" title="CSS">CSS</a><a href="https://www.jb51.cc/tag/Nodejs/" title="Node.js">Node.js</a><a href="https://www.jb51.cc/tag/angular/" title="angular">angular</a><a href="https://www.jb51.cc/tag/typescript/" title="typescript">typescript</a><a href="https://www.jb51.cc/tag/vuejs/" title="vue.js">vue.js</a><a href="https://www.jb51.cc/tag/reactnative/" title="react-native">react-nati</a><a href="https://www.jb51.cc/tag/spring/" title="spring">spring</a><a href="https://www.jb51.cc/tag/kotlin/" title="kotlin">kotlin</a><a href="https://www.jb51.cc/tag/API/" title="API">API</a><a href="https://www.jb51.cc/tag/selenium/" title="selenium">selenium</a><a href="https://www.jb51.cc/tag/tensorflow/" title="tensorflow">tensorflow</a><a href="https://www.jb51.cc/tag/bash/" title="bash">bash</a><a href="https://www.jb51.cc/tag/angularJS/" title="angularJS">angularJS</a><a href="https://www.jb51.cc/tag/express/" title="express">express</a><a href="https://www.jb51.cc/tag/xcode/" title="xcode">xcode</a><a href="https://www.jb51.cc/tag/matplotlib/" title="matplotlib">matplotlib</a><a href="https://www.jb51.cc/tag/flask/" title="flask">flask</a><a href="https://www.jb51.cc/tag/Hibernate/" title="Hibernate">Hibernate</a><a href="https://www.jb51.cc/tag/dictionary/" title="dictionary">dictionary</a><a href="https://www.jb51.cc/tag/rails/" title="rails">rails</a><a href="https://www.jb51.cc/tag/cocos/" title="cocos">cocos</a><a href="https://www.jb51.cc/tag/web/" title="web">web</a><a href="https://www.jb51.cc/tag/npm/" title="npm">npm</a><a href="https://www.jb51.cc/tag/reacthooks/" title="react-hooks">react-hook</a><a href="https://www.jb51.cc/tag/mongoose/" title="mongoose">mongoose</a><a href="https://www.jb51.cc/tag/googleappsscript/" title="google-apps-script">google-app</a><a href="https://www.jb51.cc/tag/forms/" title="forms">forms</a><a href="https://www.jb51.cc/tag/wpf/" title="wpf">wpf</a><a href="https://www.jb51.cc/tag/Rest/" title="Rest">Rest</a><a href="https://www.jb51.cc/tag/webpack/" title="webpack">webpack</a><a href="https://www.jb51.cc/tag/unittesting/" title="unit-testing">unit-testi</a><a href="https://www.jb51.cc/tag/http/" title="http">http</a><a href="https://www.jb51.cc/tag/class/" title="class">class</a><a href="https://www.jb51.cc/tag/file/" title="file">file</a><a href="https://www.jb51.cc/tag/Nextjs/" title="Next.js">Next.js</a><a href="https://www.jb51.cc/tag/Js/" title="Js">Js</a><a href="https://www.jb51.cc/tag/HTML5/" title="HTML5">HTML5</a><a href="https://www.jb51.cc/tag/bootstrap4/" title="bootstrap-4">bootstrap-</a></div> </div> </div> </div> <!-- row end --> <div> <div> <!-- jb51-article-right2 --> <insdata-ad-client="ca-pub-4605373693034661" data-ad-slot="7896600181" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> <!-- right end --> </div> </div> <footer id="footer"> <div> <div> <div> <ul> <li>友情链接:</li> <li> <a href="https://www.runoob.com/?from=jb51cc_links" title="菜鸟教程(www.runoob.com)提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程。" target="_blank">菜鸟教程</a> </li><li> <a href="https://www.f2er.com/?from=jb51cc_links" title="前端之家(F2ER.COM)提供了前端开发编程的基础技术教程, 介绍了html、css、javascript、jquery、vue、bootstrap、node、angular等各种前端开发编程语言的基础知识。" target="_blank">前端之家</a> </li><li> <a href="https://k.jb51.cc?from=jb51cc_links" title="小编旗下的编程课程精选【编程小课】,致力于提供优质的腾讯编程课堂供你快速选择学习。" target="_blank">编程小课</a> </li></ul> <ul> <li><a href="https://www.jb51.cc" title="小编">小编</a></li> - <li><a href="https://t5m44pq3f7.jiandaoyun.com/f/638ca61b7b079a000a5d2dd6" title="我要投稿" target="_blank">我要投稿</a></li> - <li><a target="_blank" href="https://t5m44pq3f7.jiandaoyun.com/f/638ca8c69ad234000a79561f" title="广告合作">广告合作</a></li> - <li><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=76874919&site=qq&menu=yes">联系我们</a></li> - <li><a href="https://www.jb51.cc/disclaimers.html" title="免责声明">免责声明</a></li> - <li><a href="https://www.jb51.cc/sitemap/all/index.xml" title="网站地图" target="_blank">网站地图</a></li> </ul> <div>版权所有 © 2018 小编 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">闽ICP备13020303号-8</a></div> </div> <div><img src="https://www.jb51.cc/qrcode.jpg" width="90" alt="微信公众号搜索 “ 程序精选 ” ,选择关注!"><div>微信公众号搜<span>"程序精选"</span>关注<br />微信扫一扫可直接关注哦!</div> </div> </div> </div> </footer> <script>jQuery(document).ready(function($){var $sidebar=$(".rbox"),$window=$(window),offset=$sidebar.offset(),topPadding=0;$window.scroll(function(){if($window.scrollTop()>offset.top){$sidebar.stop().animate({marginTop:$window.scrollTop()-offset.top+topPadding})}else{$sidebar.stop().animate({marginTop:0})}})});</script> <script>(function(){var bp=document.createElement('script');var curProtocol=window.location.protocol.split(':')[0];if(curProtocol==='https'){bp.src='https://zz.bdstatic.com/linksubmit/push.js'}else{bp.src='http://push.zhanzhang.baidu.com/push.js'}var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(bp,s)})();</script> <script>var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src="https://hm.baidu.com/hm.js?0467d9826578aba62c8e49c29e1cfd34";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s)})();</script> </body> </html>

canvid.js —— 极小的 JavaScript 视频播放库

canvid.js —— 极小的 JavaScript 视频播放库

canvid 是个极小依赖的库,可以在 canvas 元素上播放相对较短的视频。

H5基础篇--HTML5 audio与video标签实现视频播放,音频播放

H5基础篇--HTML5 audio与video标签实现视频播放,音频播放

随着互联网的飞速发展以及HTML5的应用,越来越多的项目中用到video,audio当常用标签。

<audio> 标签属性

图片描述

<audio src="song.mp3" controls="controls" loop="loop" autoplay="autoplay"></audio>

当然audio元素允许多个 source 元素。source 元素可以链接不同的音频文件。浏览器将使用第一个可识别的格式:

再如下面:

<audio controls="controls">  
   <source src="music.ogg" /> 
   <source src="music.mp3" /> 
   <source src="music.wav" /> 
</audio> 

<video> 标签属性

下面先介绍下video标签的一般用法

video标签的属性如下:
图片描述

注:control 属性供添加播放、暂停和音量控件。

一般用法:

<div>
  <video width="750" height="300" id="videoP" src="video.mp4"></video>
</div>

当然可以暂停,播放该视频,使用方法如下:

function playPause() {
   var myVideo = document.getElementById(''videoP'');

   if (myVideo.paused){
        myVideo.play();
   }else{
    myVideo.pause();
   }   
 }

当然video 元素允许多个 source 元素。source 元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式:

如下:

<video width="320" height="240" controls="controls">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.mp4" type="video/mp4">
 Your browser does not support the video tag.
</video>

获取HTMLVideoElement和HTMLAudioElement对象

//audio可以直接通过new创建对象
Media = new Audio("http://www.abc.com/test.mp3");
//audio和video都可以通过标签获取对象
Media = document.getElementById("media");

Media方法和属性

//错误状态
Media.error;            //null:正常
Media.error.code;       //1.用户终止 2.网络错误 3.解码错误 4.URL无效

//网络状态
Media.currentSrc;           //返回当前资源的URL
Media.src = value;          //返回或设置当前资源的URL
Media.canPlayType(type);    //是否能播放某种格式的资源
Media.networkState;         //0.此元素未初始化  1.正常但没有使用网络  2.正在下载数据  3.没有找到资源
Media.load();               //重新加载src指定的资源
Media.buffered;             //返回已缓冲区域,TimeRanges
Media.preload;              //none:不预载 metadata:预载资源信息 auto:

//准备状态
Media.readyState;       //1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA
Media.seeking;          //是否正在seeking

//回放状态
Media.currentTime = value;          //当前播放的位置,赋值可改变位置
Media.startTime;                    //一般为0,如果为流媒体或者不从0开始的资源,则不为0
Media.duration;                     //当前资源长度 流返回无限
Media.paused;                       //是否暂停
Media.defaultPlaybackRate = value;  //默认的回放速度,可以设置
Media.playbackRate = value;         //当前播放速度,设置后马上改变
Media.played;                       //返回已经播放的区域,TimeRanges,关于此对象见下文
Media.seekable;                     //返回可以seek的区域 TimeRanges
Media.ended;                        //是否结束
Media.autoPlay;                     //是否自动播放
Media.loop;                         //是否循环播放
Media.play();                       //播放
Media.pause();                      //暂停

//控制
Media.controls;         //是否有默认控制条
Media.volume = value;   //音量
Media.muted = value;    //静音

//TimeRanges(区域)对象
TimeRanges.length;              //区域段数
TimeRanges.start(index)         //第index段区域的开始位置
TimeRanges.end(index)           //第index段区域的结束位置

事件

eventTester = function(e){
  Media.addEventListener(e,function(){
   console.log((new Date()).getTime(),e);
  });
}
eventTester("loadstart");       //客户端开始请求数据
eventTester("progress");        //客户端正在请求数据
eventTester("suspend");         //延迟下载
eventTester("abort");           //客户端主动终止下载(不是因为错误引起),
eventTester("error");           //请求数据时遇到错误
eventTester("stalled");         //网速失速
eventTester("play");            //play()和autoplay开始播放时触发
eventTester("pause");           //pause()触发
eventTester("loadedmetadata");  //成功获取资源长度
eventTester("loadeddata");      //提示当前帧的数据是可用的
eventTester("waiting");         //等待数据,并非错误
eventTester("playing");         //开始回放
eventTester("canplay");         //可以播放,但中途可能因为加载而暂停
eventTester("canplaythrough");  //可以播放,歌曲全部加载完毕
eventTester("seeking");         //寻找中
eventTester("seeked");          //寻找完毕
eventTester("timeupdate");      //播放时间改变
eventTester("ended");           //播放结束
eventTester("ratechange");      //播放速率改变
eventTester("durationchange");  //资源长度改变
eventTester("volumechange");    //音量改变

HTML5 - 使用JavaScript控制<video>视频播放(自定义视频播放器)

HTML5 - 使用JavaScript控制

下面不使用<video>的controls属性,通过创建一个自定义播放器演示如何使用js操作<video>元素。

 
效果图如下:
原文:HTML5 - 使用JavaScript控制<video>视频播放(自定义视频播放器)
 
实现功能如下:
(1)可以播放,暂停,停止视频。
(2)可以改变播放速度(2倍速度加速播放,一半的速度慢速播放,正常速度播放)
(3)播放时有进度条,同时还能显示已播放时间。
 
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!DOCTYPE html>
<html>
<head>
     <meta charset= "utf-8" >
     <title>hangge.com</title>
</head>
<style>
     #durationBar{
         border:solid 1px   #164900;
         width:100%;
         margin-bottom:5px;
     }
 
     #positionBar{
         height:20px;
         color:white;
         font-weight:bold;
         background: #2D9900;
         text-align:center;
     }
</style>
     
<script>
     //播放
     function   play(){
         var   video = document.getElementById( "videoPlayer" );
         video.play();
     }
 
     //暂停
     function   pause(){
         var   video = document.getElementById( "videoPlayer" );
         video.pause();
     }
 
     //停止
     function   stop(){
         var   video = document.getElementById( "videoPlayer" );
         video.pause();
         video.currentTime = 0;
     }
 
     //快放
     function   speedUp(){
         var   video = document.getElementById( "videoPlayer" );
         video.play();
         video.playbackRate = 2;
     }
 
     //慢放
     function   slowDown(){
         var   video = document.getElementById( "videoPlayer" );
         video.play();
         video.playbackRate = 0.5;
     }
 
     //正常速度
     function   normalSpeed(){
         var   video = document.getElementById( "videoPlayer" );
         video.play();
         video.playbackRate = 1;
     }
 
     //进度条相关
     function   progressUpdate(){
         var   video = document.getElementById( "videoPlayer" );
 
         //动态设置进度条
         var   postionBar = document.getElementById( "positionBar" );
         postionBar.style.width = (video.currentTime / video.duration * 100) +  "%" ;
 
         //设置播放时间
         displayStatus.innerHTML = (Math.round(video.currentTime*100)/100) +  "秒" ;
     }
</script>
 
<body>
     <video id= "videoPlayer"   src= "hangge.mp4"   width= "400"   height= "300"
         ontimeupdate= "progressUpdate()" >
     </video>
 
     <div id= "durationBar" >
         <div id= "positionBar" ><span id= "displayStatus" >0秒</span></div>
     </div>
 
     <button onclick= "play()" >播放</button>
     <button onclick= "pause()" >暂停</button>
     <button onclick= "stop()" >停止</button>
     &nbsp;&nbsp;
     <button onclick= "speedUp()" >快放</button>
     <button onclick= "slowDown()" >慢放</button>
     <button onclick= "normalSpeed()" >正常</button>
</body>
</html>

HTML5 audio 与 video 标签实现视频播放,音频播放

HTML5 audio 与 video 标签实现视频播放,音频播放

HTML5 audio 与 video 标签实现视频播放,音频播放

关于HTML5 视频播放(video),JavaScript控制视频的实例代码html5中用于播放视频的代码的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于canvid.js —— 极小的 JavaScript 视频播放库、H5基础篇--HTML5 audio与video标签实现视频播放,音频播放、HTML5 - 使用JavaScript控制等相关知识的信息别忘了在本站进行查找喔。

本文标签: