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 相关文章推荐
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
JavaScript 对象模型 执行模型
Oct 15 Javascript
妙用Jquery的val()方法
Jun 27 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
判断数组是否包含某个元素的js函数实现方法
May 19 Javascript
jQuery获取select选中的option的value值实现方法
Aug 29 Javascript
集合Bootstrap自定义confirm提示效果
Sep 19 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
Oct 20 Javascript
详解vue中$nextTick和$forceUpdate的用法
Dec 11 Javascript
浅析JavaScript 函数防抖和节流
Jul 13 Javascript
Element Dropdown下拉菜单的使用方法
Jul 26 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 socket实现的聊天室代码分享
2014/08/16 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
Python线程详解
2015/06/24 Python
快速入门python学习笔记
2017/12/06 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
金融专业应届生求职信
2013/11/02 职场文书
数据员岗位职责
2013/11/19 职场文书
小学科学教学反思
2014/01/26 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android