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 相关文章推荐
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
javaScript实现浮点数转十六进制字符
Oct 29 Javascript
location.href用法总结(最主要的)
Dec 27 Javascript
JavaScript cookie的设置获取删除详解
Feb 11 Javascript
json字符串之间的相互转换示例代码
Aug 21 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
js原生Ajax的封装和原理详解
Mar 11 Javascript
Echarts实现单条折线可拖拽效果
Dec 19 Javascript
javascript实现计算器功能
Mar 30 Javascript
vue实现在进行增删改操作后刷新页面
Aug 05 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 Javascript
JavaScript实现消消乐的源代码
Jan 12 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 GD库相关图像生成和处理函数小结
2016/09/30 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
2014/03/18 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python中作用域的深入讲解
2018/12/10 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
django中的图片验证码功能
2019/09/18 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
台湾旅游网站:灿星旅游
2018/10/11 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
后勤主管工作职责
2013/12/07 职场文书
质检员岗位职责
2013/12/17 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
环境卫生倡议书
2014/08/29 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python
python实现MD5进行文件去重的示例代码
2021/07/09 Python
css3 选择器
2022/05/11 HTML / CSS