JavaScript实现自定义媒体播放器方法介绍


Posted in Javascript onJanuary 03, 2017

使用<audio>和<video>元素的play()和pause()方法,可以手工控制媒体文件的播放。组合使用属性、事件和这两个方法,很容易创建一个自定义的媒体播放器,如下面的例子所示。

<div class="mediaplayer">
  <div class="video">
    <video id="player" src="movie.mov" poster="mymovie.jpg"
    width="300" height="200">
    Video player not available.
    </video>
  </div>
  <div class="controls">
    <input type="button" value="Play" id="video-btn">
    <span id="curtime">0</span>/<span id="duration">0</span>
  </div>
</div>

以上基本的HTML 再加上一些JavaScript 就可以变成一个简单的视频播放器。以下就是JavaScript代码。

window.onload=function(){
  var player = document.getElementById("player"),
  oBtn = document.getElementById("video-btn"),
  curtime = document.getElementById("curtime"),
  duration = document.getElementById("duration");
  //更新播放时间
  duration.innerHTML = player.duration;
  oBtn.onclick = function(){
    if (player.paused){
      player.play();
      oBtn.value = "Pause";
    } 
    else {
      player.pause();
      oBtn.value = "Play";
    }
  }
  //定时更新当前时间
  setInterval(function(){
    curtime.innerHTML = player.currentTime;
  }, 250);
}

以上JavaScript 代码给按钮添加了一个事件处理程序,单击它能让视频在暂停时播放,在播放时暂停。通过<video>元素的load 事件处理程序,设置了加载完视频后显示播放时间。最后,设置了一个计时器,以更新当前显示的时间。你可以进一步扩展这个视频播放器,监听更多事件,利用更多属性。而同样的代码也可以用于<audio>元素,以创建自定义的音频播放器。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
浅析javascript闭包 实例分析
Dec 25 Javascript
Three.js源码阅读笔记(Object3D类)
Dec 27 Javascript
JavaScript按位运算符的应用简析
Feb 04 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
Mar 03 Javascript
js简单工厂模式用法实例
Jun 30 Javascript
jQuery Real Person验证码插件防止表单自动提交
Nov 06 Javascript
js实现加载更多功能实例
Oct 27 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
Mar 09 Javascript
基于DOM节点删除之empty和remove的区别(详解)
Sep 11 Javascript
vant picker+popup 自定义三级联动案例
Nov 04 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
JS求解三元一次方程组值的方法
Jan 03 #Javascript
Vue.js系列之项目结构说明(2)
Jan 03 #Javascript
Vue.js系列之项目搭建(1)
Jan 03 #Javascript
jquery实现下拉框多选方法介绍
Jan 03 #Javascript
jQuery实现可拖拽3D万花筒旋转特效
Jan 03 #Javascript
详解JavaScript常量定义
Jan 03 #Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 #Javascript
You might like
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
php伪静态之APACHE篇
2014/06/02 PHP
php分页函数完整实例代码
2014/09/22 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
获取数组中最大最小值方法js代码(自写)
2013/08/12 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
js实现随机数小游戏
2019/06/28 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
Python中的字符串替换操作示例
2016/06/27 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
python中time库的实例使用方法
2019/10/31 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
2019/01/18 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
高分子材料与工程专业推荐信
2013/12/01 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
老师对学生的寄语
2014/04/09 职场文书
食品安全宣传标语
2014/06/07 职场文书
教师岗位职责范本
2015/04/02 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
原生JS封装vue Tab切换效果
2021/04/28 Vue.js