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之引用类型介绍
Aug 10 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
May 14 Javascript
JavaScript设计模式之建造者模式介绍
Dec 28 Javascript
jQuery与Ajax以及序列化
Feb 01 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
JS实现碰撞检测的方法分析
Jan 19 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
May 29 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
May 05 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 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里面的抽象类
2010/01/28 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
原生JS实现日历组件的示例代码
2017/09/22 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
js遍历详解(forEach, map, for, for...in, for...of)
2019/08/28 Javascript
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
Python对象的属性访问过程详解
2020/03/05 Python
SQL Server面试题
2016/10/17 面试题
.NET笔试题(20个问题)
2016/02/02 面试题
行政助理求职自荐信
2013/10/26 职场文书
应届生法律顾问求职信
2013/11/19 职场文书
《钱学森》听课反思
2014/03/01 职场文书
婚礼司仪主持词
2014/03/14 职场文书
高二学生评语大全
2014/04/25 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
2015年教研工作总结
2015/05/23 职场文书
自书遗嘱范文
2015/08/07 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书