效果

要实现自定义video播放器需要熟悉video的相关操作

视频播放它有哪些操作
        1. 播放 play()
        2. 暂停 pause()
        3. 判断当前是暂停还是播放状态 paused
        4. 更新进度 监听事件 ontimeupdate = function() {}
        5. 设置进度 视频的总时长: duration 当前时间: currenttime
        6. 全屏操作 requestFullScreen

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><link rel="stylesheet" href="./css/font-awesome.min.css"><style>* {margin: 0;padding: 0;}body {background-color: #000;}.box {width: 800px;margin: 100px auto;border: 1px solid #fff;}.contro1 {width: 100%;height: 50px;background: #fff;display: flex;border-top: 1px solid #fff;}.contro1 .right,.contro1 .left {flex-basis: 50px;background-color: #000;color: #fff;text-align: center;line-height: 50px;font-size: 20px;}.contro1 .progress {flex: 1;}.contro1 .current {width: 0%;height: 50px;background-color: gray;}</style>
</head><body><div class="box"><video src="./movie/bglb.mp4"></video><div class="contro1"><a class="left icon-play"></a><div class="progress"><div class="current"></div></div><a class="right icon-fullscreen"></a></div></div>
</body></html><script>var video = document.querySelector("video");// 点击播放暂停按钮的操作document.querySelector(".left").onclick = function () {// 判断当前是处于暂停还是播放状态if (video.paused == true) {video.play();this.classList.add("icon-pause")this.classList.remove("icon-play");} else {video.pause();this.classList.remove("icon-pause");this.classList.add("icon-play");}}// 更新进度条// 拿到视频的总时长,求百分比,播放时调用video.ontimeupdate = function () {var percent = video.currentTime / video.duration * 100 + "%";document.querySelector(".current").style.width = percent;}// 点击进度条,更新处理document.querySelector(".progress").onclick = function (target) {// 拿到进度条的宽度var width = this.offsetWidth;// 拿到当前点击位置的x坐标var x = target.offsetX;video.currentTime = x / width * video.duration;}//4. 全屏的功能的实现document.querySelector(".right").onclick = function () {//进入全屏video.webkitRequestFullScreen();}</script>

H5 实现自定义video播放器,快来点我吧相关推荐

  1. JS 用CANVAS自定义VIDEO播放器

    JS 用CANVAS自定义VIDEO播放器 概述 CANVAS绘制核心代码 播放器代码 使用页面HTML代码 使用页面JS代码 使用示例 概述 HTML5用规范的VIDEO标签取代了以往需要借助外部控 ...

  2. html5+video手机样式修改,如何自定义video播放器样式?

    本篇文章给大家分享了关于如何自定义video播放器样式,内容很详细,希望可以帮助到大家. DIY 本文基于HTML5 Video API,自定义Web视频播放器样式. 其实吧,原生的video 标签样 ...

  3. html自定义video播放器

    本章的css可以说约等于没有,全是逻辑,仅供参考 html <!DOCTYPE html> <html lang="en"> <head>< ...

  4. 自定义video播放器的常用的事件。

    window.onresize 这个事件主要用于当浏览器窗口发生改变时,实时获取video的width和height: 代码示例: window.onresize=function() {// 控制窗 ...

  5. 微信中H5同层Video播放器接入教程

    微信中H5同层Video播放器接入教程 x5-video-player-type 启用H5同层播放器 通过video属性"x5-video-player-type"声明启用同层H5 ...

  6. Vue 自定义音乐播放器组件为H5添加背景音乐

    自定义音乐播放器组件为H5添加背景音乐: 1.创建music.vue组件 <template><div><div @click="changeOn" ...

  7. JS控制Video播放器(video详细介绍)(快进、后退、播放、暂停、音量大小)

    JS控制Video播放器(video详细介绍)(快进.后退.播放.暂停.音量大小) 来源:https://blog.csdn.net/hh3167253066/article/details/1203 ...

  8. h5 video播放器遇到的坑

    h5 video播放器遇到的坑 1.在安卓webview中默认全屏播放解决方法 此属性需要在播放前设置好,播放之后设置可能会无效 如果使用video播放音频文件的话,安卓会出现黑屏并且无法播放的状况, ...

  9. 玩转前端 Video 播放器

    Web 开发者们一直以来想在 Web 中使用音频和视频,但早些时候,传统的 Web 技术不能够在 Web 中嵌入音频和视频,所以一些像 Flash.Silverlight 的专利技术在处理这些内容上变 ...

最新文章

  1. 借教室(NOIP2012)
  2. @select注解模糊查询_mybatis @SelectProvider 注解, 打赌你没有用过
  3. QT的QGraphicsItemAnimation类的使用
  4. [社会趣闻]储户召集7名亲友占满银行窗口 每次存一元
  5. HTTP/2 流量调试
  6. core文件怎么分析_c++ crash 分析工具:breakpad
  7. Zookeeper:基于Zookeeper的分布式锁与领导选举
  8. 博弈论 斯坦福game theory stanford week 3.2_
  9. keepalived+lvs搭建高可用负载均衡集群
  10. Flume在企业大数据仓库架构中位置及功能
  11. c# 在winform中为DataGridView头部标题添加ContextMenuStrip菜单
  12. 10分钟10行代码开发APP(delphi 应用案例)
  13. 设计模式7大结构型模式
  14. 前后端分离项目token怎么验证_前后端分离,获取token,验证登陆是否失效
  15. KeyMob聚合致力于为广大开发者及广告聚合服务
  16. iOS混合开发库(GICXMLLayout)一、介绍
  17. 用PHP写Yaf:Yaf_Registry类
  18. 【软件测试】软件测试学习笔记(三)
  19. 油气田开发之油气水井维护性修井作业
  20. Vue 使用 fraola——vue-froala-wysiwyg

热门文章

  1. 删除磁盘中某个EFI系统分区
  2. 多因子选股模型python_量化交易——因子选股、多因子选股策略
  3. 什么是ClassLoader
  4. MFC中如何修改CGroupBox标题和背景色
  5. 云计算机教室中标,金昌市理工中等专业学校云计算机教室设备项目中标公告
  6. mmdetection报错:ImportError: /home/user/repos/mmdetection/mmdet/ops/dcn/deform_conv_cuda.cpython-37m-x
  7. Chameleon 手動安裝說明 + Chameleon 2 RC5 Rev580
  8. Win10使用麦克风时:未发现录音设备或驱动未安装
  9. 深入探索编译插桩技术(四、ASM 探秘,android中文api文档
  10. SPC的成功应用少不了各部门之间的协同工作