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 相关文章推荐
getElementById在任意一款浏览器中都可以用吗的疑问回复
May 13 Javascript
在JavaScript中监听IME键盘输入事件
May 29 Javascript
javascript动画浅析
Aug 30 Javascript
JavaScript将相对地址转换为绝对地址示例代码
Jul 19 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
Sep 16 Javascript
总结JavaScript三种数据存储方式之间的区别
May 03 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
Angular 路由route实例代码
Jul 12 Javascript
node内置调试方法总结
Feb 22 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
微信小程序如何获取用户收货地址
Nov 27 Javascript
详解JavaScript作用域和作用域链
Mar 19 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获取网页内容方法总结
2008/12/04 PHP
yii上传文件或图片实例
2014/04/01 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
php常用的工具开发整理
2019/09/26 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
JavaScript 事件系统
2010/07/22 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
原生js调用json方法总结
2018/02/22 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
js 解析 JSON 数据简单示例
2020/04/21 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
python书籍信息爬虫实例
2018/03/19 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
Django中信号signals的简单使用方法
2019/07/04 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
小学生作文评语集锦
2014/12/25 职场文书
教师年度个人总结
2015/02/11 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
2016寒假假期总结
2015/10/10 职场文书