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中的eval函数
Nov 02 Javascript
firefox和IE系列的相关区别整理 以备后用
Dec 28 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
Jan 13 Javascript
jQuery实现动画效果的简单实例
Jan 27 Javascript
javascript实现的一个带下拉框功能的文本框
May 08 Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
Jun 05 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
Sep 10 Javascript
jQuery与Ajax以及序列化
Feb 01 Javascript
JS实现课堂随机点名和顺序点名
Mar 09 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
vue组件开发props验证的实现
Feb 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
Smarty Foreach 使用说明
2010/03/23 PHP
初识php MVC
2014/09/10 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
php生成shtml类用法实例
2014/12/09 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
JavaScript中Object基础内部方法图
2018/02/05 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
详解python3中socket套接字的编码问题解决
2017/07/01 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
NET程序员上机面试题
2015/05/23 面试题
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
毕业生的自我评价分享
2013/12/18 职场文书
少儿节目主持串词
2014/04/02 职场文书
幼儿学前班评语
2014/12/29 职场文书
2016新年慰问信范文
2015/03/25 职场文书
工作失职检讨书范文
2015/05/05 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
python编写五子棋游戏
2021/05/25 Python