位置: IT常识 - 正文

纯原生html编写的h5视频播放器(将原生html改成vue)

编辑:rootadmin
#snail-player-native 一个纯原生代码编写的h5视频播放器, 功能完善,基本满足使用,仅供学习,禁止商用 演示 演示加速 Install 1. git clone https://github.com/snail-boy/snail-player-native.git 2. 拷贝l ... snail-player-native一个纯原生代码编写的h5视频播放器, 功能完善,基本满足使用,仅供学习,禁止商用

推荐整理分享纯原生html编写的h5视频播放器(将原生html改成vue),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:html原型,html原生标签,html原生表格,html原型,将原生html改成vue,html原型,原生html开发,原生html组件,内容如对您有帮助,希望把文章链接给更多的朋友!

演示

纯原生html编写的h5视频播放器(将原生html改成vue)

演示加速

Install1. git clone https://github.com/snail-boy/snail-player-native.git2. 拷贝lib目录下的文件到自己项目里Usage

直接运行index.html

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #snailPlayId { width: 800px; height: 500px; margin: 0 auto; } h1 { text-align: center; } </style></head><body><h1>snail-player</h1><div id='snailPlayId'></div></body><script type="module"> import SnailPlayer from "./lib/index.js"; new SnailPlayer({ el: '#snailPlayId', src: 'https://webrabbit.oss-cn-beijing.aliyuncs.com/drawingbed/video.mp4', autoplay: true, // 是否自动播放 loop: true // 是否循环播放 })</script></html>Some Codemain.js// 计算进度条时间progressTime(offsetY) { return utils.formatSeconds((offsetY / this.progressw * this.playVideo.duration).toFixed(2))}// 进度条计算公式progressCalculate() { return (this.progressw / this.playVideo.duration * this.playVideo.currentTime).toFixed(2)}// 全屏fullScreenFun() { const docElm = document.documentElement if (!this.isFullScreen) { utils.addClass(this.el, 'fullscreen-active') utils.addClass(this.playVideo, 'fullscreen-active') utils.showClass('snail-player-full-screen-icon') utils.hiddenClass('snail-player-fullscreen-btn') utils.changeInnerText('fullscreen-icon', '退出全屏') utils.addClass(this.playBottom, 'sn-player-fullscreen-bottom-active') setTimeout(() => { if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (document.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } }, 100) this.isFullScreen = true utils.hiddenClass('snail-player-web-fullscreen-box') } else { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } utils.showClass('snail-player-web-fullscreen-box') utils.removeClass(this.el, 'fullscreen-active') utils.removeClass(this.playVideo, 'fullscreen-active') utils.hiddenClass('snail-player-full-screen-icon') utils.showClass('snail-player-fullscreen-btn') utils.changeInnerText('fullscreen-icon', '进入全屏') utils.removeClass(this.playBottom, 'sn-player-fullscreen-bottom-active') this.isFullScreen = false }}index.js//加载cssrenderCss(url) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.type='text/css'; link.rel = 'stylesheet'; link.href = url; head.appendChild(link);}//加载faviconrenderIcon(url) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.type='type="image/x-icon"'; link.rel = 'shortcut icon'; link.href = url; head.appendChild(link);}Utilsclass Utils { hasClass(ele, cls) { return !!ele.className.match(new RegExp('(\s|^)' + cls + '(\s|$)')) } addClass(ele, cls) { if (!this.hasClass(ele, cls)) ele.className += ' ' + cls } removeClass(ele, cls) { if (this.hasClass(ele, cls)) { const reg = new RegExp('(\s|^)' + cls + '(\s|$)') ele.className = ele.className.replace(reg, '') } } set(key, value) { localStorage.setItem(key, value) } get(key) { return localStorage.getItem(key) } showClass(cls) { cls ? document.getElementsByClassName(cls)[0].style.display = 'block' : new Error('请输入类名') } hiddenClass(cls) { cls ? document.getElementsByClassName(cls)[0].style.display = 'none' : new Error('请输入类名') } changeInnerText(cls, text) { document.getElementsByClassName(cls)[0].innerHTML = text } clickfu(to, cls){ //回调函数,to为点击对象 to.setAttribute("class",cls); const siblings = to.parentNode.childNodes; for(let i=0; i<siblings.length; i++) if(siblings[i].nodeType == 1 && siblings[i] != to)siblings[i].className = ''; } formatSeconds(value) { if(!value) return '00:00' value = parseInt(value); let time; if (value > -1) { let hour = Math.floor(value / 3600); let min = Math.floor(value / 60) % 60; let sec = value % 60; let day = parseInt(hour / 24); if (day > 0) { hour = hour - 24 * day; time = day + "day " + hour + ":"; } else if (hour > 0) { time = hour + ":"; }else { time = ""; } if (min < 10) { time += "0"; } time += min + ":"; if (sec < 10) { time += "0"; } time += sec; } return time; } classEle(cls) { return cls && document.getElementsByClassName(cls)[0] }}export default UtilsFunction按空格键暂停播放点击屏幕暂停播放视频进度条拖拽,区分颜色鼠标移动到进度条上方显示时间视频快进慢放视频声音控制画中画整屏播放双击全屏播放等运行环境支持es6的各种浏览器最好用chrome源码地址,欢迎star

github地址

gitee地址

欢迎留言issues

Issues

本文链接地址:https://www.jiuchutong.com/zhishi/313363.html 转载请保留说明!

上一篇:织梦生成文章内容缩略图时自动加上绝对路径教程(织梦内容页模板修改)

下一篇:织梦DEDECMS关于提交表单“数据校验不对”的解决办法(织梦设置的关键词看不到)

  • 怎样让关键词排名更加稳定?(关键词排名操作方法)

    怎样让关键词排名更加稳定?(关键词排名操作方法)

  • vivo手机的恢复出厂设置在哪里(vivo手机的恢复出厂值在哪里)

    vivo手机的恢复出厂设置在哪里(vivo手机的恢复出厂值在哪里)

  • 微信图标上有个是什么意思(微信图标上有个黄色的锁是什么意思)

    微信图标上有个是什么意思(微信图标上有个黄色的锁是什么意思)

  • 支付宝心愿储蓄的钱怎么取出来(支付宝心愿储蓄扣款失败能否手动转入)

    支付宝心愿储蓄的钱怎么取出来(支付宝心愿储蓄扣款失败能否手动转入)

  • 小英文字母怎么打出来(小英文字母怎么拼)

    小英文字母怎么打出来(小英文字母怎么拼)

  • 如何关闭qq下拉功能(如何关闭qq下拉抢红包)

    如何关闭qq下拉功能(如何关闭qq下拉抢红包)

  • 双十一退货红包怎么办(双十一退货红包还有吗)

    双十一退货红包怎么办(双十一退货红包还有吗)

  • 哈罗单车欠费有事吗(哈罗单车订单欠费超60天)

    哈罗单车欠费有事吗(哈罗单车订单欠费超60天)

  • 苹果a1673是ipad几代(苹果a1673是ipad什么型号)

    苹果a1673是ipad几代(苹果a1673是ipad什么型号)

  • 小u是什么东西(你知道小u是谁吗)

    小u是什么东西(你知道小u是谁吗)

  • 钉钉直播老师能看到学生分屏吗(钉钉直播老师能看到谁没参加吗)

    钉钉直播老师能看到学生分屏吗(钉钉直播老师能看到谁没参加吗)

  • 移动终端设备有哪些(移动终端设备有哪些接入网络方式)

    移动终端设备有哪些(移动终端设备有哪些接入网络方式)

  • 小米10看视频不能全屏(小米看视频不清晰)

    小米10看视频不能全屏(小米看视频不清晰)

  • 固态硬盘容量(固态硬盘容量检测)

    固态硬盘容量(固态硬盘容量检测)

  • 使用格式刷和样式的有何区别(使用格式刷的优点)

    使用格式刷和样式的有何区别(使用格式刷的优点)

  • 广域网和局域网的区别(广域网和局域网的划分依据)

    广域网和局域网的区别(广域网和局域网的划分依据)

  • 手机突然很烫温度很高(手机突然很烫温度很高耗电快)

    手机突然很烫温度很高(手机突然很烫温度很高耗电快)

  • qq电话声音小什么原因(qq电话声音太小怎么办)

    qq电话声音小什么原因(qq电话声音太小怎么办)

  • 微型计算机的基本结构(微型计算机的基本工作原理)

    微型计算机的基本结构(微型计算机的基本工作原理)

  • 手机怎么设置字体上有拼音(手机怎么设置字体上面有拼音)

    手机怎么设置字体上有拼音(手机怎么设置字体上面有拼音)

  • iphone和小爱连不上(iphone和小爱连不上的原因)

    iphone和小爱连不上(iphone和小爱连不上的原因)

  • nick什么意思(nick是什么意思 人名)

    nick什么意思(nick是什么意思 人名)

  • 荣耀20如何添加桌面时间(荣耀20如何添加小组件)

    荣耀20如何添加桌面时间(荣耀20如何添加小组件)

  • 验证码发给别人有事吗(抖音电子牵验证码发给别人)

    验证码发给别人有事吗(抖音电子牵验证码发给别人)

  • 淘宝直播权限怎么开通(淘宝直播的权限)

    淘宝直播权限怎么开通(淘宝直播的权限)

  • 手机把图片变成黑白(手机把图片变成像素画)

    手机把图片变成黑白(手机把图片变成像素画)

  • 飞猪旅行如何投诉卖家(飞猪旅行怎么样联系人工客服)

    飞猪旅行如何投诉卖家(飞猪旅行怎么样联系人工客服)

  • Win11蓝牙不能用怎么办?Windows11蓝牙无法使用的解决方法(windows11蓝牙不能用)

    Win11蓝牙不能用怎么办?Windows11蓝牙无法使用的解决方法(windows11蓝牙不能用)

  • JS实现把表格数据导出,并生成为excel下载到本地(js处理表格数据)

    JS实现把表格数据导出,并生成为excel下载到本地(js处理表格数据)

  • 小规模纳税人一般纳税人区别
  • 资产负债表的其他流动资产包括哪些
  • 投资性房地产处置的账务处理
  • 发票低于实际支付的金额如何做账
  • 哪些进项税额不可以抵扣
  • 印花税的计税依据怎么算公式
  • 2021小规模纳税人减免增值税
  • 房地产出租是否缴纳土地增值税
  • 物业用房的装修费可以在土地增值税清算时扣除吗
  • 现金支票存根如何填写
  • 应付账款借方余额在资产负债表中怎么列示
  • 没有银行回单用明细账可以做账吗
  • 开出产品折扣的发票怎么入账?
  • 股东以实物出资需要交税吗
  • 购货方跨月进项税额转出分录
  • 物业收停车费要交房产税吗
  • 减免税费期末如何结转
  • 建筑劳务增值税
  • 2018年终奖个人所得税计算器公式
  • 人力资源外包服务收费标准
  • 城建税教育附加税的会计分录
  • 事业单位取得的财政拨款免税吗
  • 发票章盖住备注烂备注的日期,看不清
  • 非同一控制企业合并商誉
  • 外地预缴工会其他经费计入什么科目?
  • 对子公司计提减值准备影响合并利润吗
  • 库存商品发生损失
  • 期末留抵税额怎么做账
  • 模具费属于什么费用
  • 如何禁用Windows10更新
  • 当月应计提的折旧额等于
  • 应付账款暂估款的会计分录
  • 商业承兑汇票到期兑现流程
  • win11怎么提高运行内存
  • 什么电脑系统比较好
  • 异地项目不预缴税款可以开票吗
  • 宽带连接错误代码691
  • 发财树的养殖方法和浇水时间
  • 斯诺多尼亚山
  • react 刷新
  • 增值税留抵退税怎么操作
  • 微信小程序使用时间记录查询
  • php curl_init
  • ai绘画图片
  • 简述php的概念和特点
  • 库存商品暂估入库金额如何确定
  • ps位图矢量化
  • 公司财务变更需要变更哪些内容
  • 出口企业为什么免税又退税
  • 资本化支出影响营业利润吗
  • 个人所得税9月初申报哪个月的
  • 增值税留底注销时怎么办
  • 小型微利企业免税销售额是多少
  • 银行扣结算卡年费合理吗
  • 应收账款和预收账款都是企业的流动资产
  • 暂估入库的商品可以结转成本吗?
  • 进项大于销项如何做分录
  • 研发支出的定义
  • 如何查询一个企业的纳税情况
  • 新发票和旧发票的区别
  • sqlserver存储过程if语句
  • mysql免安装版怎么启动
  • xp系统如何安装
  • win10图片修改
  • xp系统如何去掉开机登陆界面
  • 如何让电脑启动更快
  • centos升级命令
  • win10edge浏览器怎么设置兼容模式
  • windows 10 正式版
  • unity手机游戏开发教程
  • windows设置开机启动软件
  • 如何把多个文本文档合并成一个且分行不重叠
  • ready jquery
  • javascript如何写操作命令
  • 登录电子税务局显示时间错误如果解决
  • 重庆税筹公司
  • 德勤 税务
  • 京东开的店
  • 个人开具农产品普通发票
  • 四川社保2020增资方案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设