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 相关文章推荐
jquery sortable的拖动方法示例详解
Jan 16 Javascript
AngularJs实现ng1.3+表单验证
Dec 10 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
Jul 28 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 Javascript
angular.extend方法的具体使用
Sep 14 Javascript
深入理解Vue router的部分高级用法
Aug 15 Javascript
详解50行代码,Node爬虫练手项目
Apr 22 Javascript
angular使用md5,CryptoJS des加密的方法
Jun 03 Javascript
五分钟搞懂Vuex实用知识(小结)
Aug 12 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
Sep 06 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 Javascript
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扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
财务管理专业毕业生求职信范文
2013/09/21 职场文书
成功的餐厅经营创业计划书
2014/01/15 职场文书
安全口号大全
2014/06/21 职场文书
青年文明号申报材料
2014/12/23 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
工作报告范文
2019/06/20 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle
Redis命令处理过程源码解析
2022/02/12 Redis