位置: 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关于提交表单“数据校验不对”的解决办法(织梦设置的关键词看不到)

  • 华为截图怎么截一小块(华为截图怎么截图)

    华为截图怎么截一小块(华为截图怎么截图)

  • 爱奇艺客户端在哪里找到(爱奇艺客户端在电脑上有声音没有画面怎么弄)

    爱奇艺客户端在哪里找到(爱奇艺客户端在电脑上有声音没有画面怎么弄)

  • 苹果11卡槽取不出来(苹果卡槽取不出来怎么解决)

    苹果11卡槽取不出来(苹果卡槽取不出来怎么解决)

  • 拼多多怎么申请延迟发货(拼多多怎么申请售后)

    拼多多怎么申请延迟发货(拼多多怎么申请售后)

  • 华为nova6对比华为nova7se(华为Nova6对比华为Nova6pro)

    华为nova6对比华为nova7se(华为Nova6对比华为Nova6pro)

  • 腾讯会议切屏会有记录吗(腾讯会议切屏会被发现吗)

    腾讯会议切屏会有记录吗(腾讯会议切屏会被发现吗)

  • 手机时不时断网几秒钟后恢复(手机时不时断网没信号)

    手机时不时断网几秒钟后恢复(手机时不时断网没信号)

  • 如果宽带上的光信号显示红色怎么办(宽带 光)

    如果宽带上的光信号显示红色怎么办(宽带 光)

  • 照片里的字怎么变成文字(照片里的字怎么反过来)

    照片里的字怎么变成文字(照片里的字怎么反过来)

  • 打印机e2是什么故障(打印机e2是什么故障代码)

    打印机e2是什么故障(打印机e2是什么故障代码)

  • 宽带出口延迟什么意思(宽带出口延迟是什么)

    宽带出口延迟什么意思(宽带出口延迟是什么)

  • ipad2018怎么长截图(ipad如何进行长截屏)

    ipad2018怎么长截图(ipad如何进行长截屏)

  • 2000m等于多少g内存(2000m是多少gb)

    2000m等于多少g内存(2000m是多少gb)

  • 苹果11锁屏慢是什么原因(苹果11锁屏慢了)

    苹果11锁屏慢是什么原因(苹果11锁屏慢了)

  • 候补购票退款几天到账(候补购票退款多久到账)

    候补购票退款几天到账(候补购票退款多久到账)

  • word怎么把所有数字换字体(word怎么把所有的图片一起调整大小)

    word怎么把所有数字换字体(word怎么把所有的图片一起调整大小)

  • airpods三代上市时间(airpods三代上市价格)

    airpods三代上市时间(airpods三代上市价格)

  • 苹果手机更新系统一直显示正在估算剩余时间(苹果手机更新系统卡住了怎么办)

    苹果手机更新系统一直显示正在估算剩余时间(苹果手机更新系统卡住了怎么办)

  • 11pro双卡怎么放(11pro双卡卡槽在哪)

    11pro双卡怎么放(11pro双卡卡槽在哪)

  • 文本框里的字怎么上下居中(文本框里的字怎么显示不出来)

    文本框里的字怎么上下居中(文本框里的字怎么显示不出来)

  • 笔记本贴贴纸会影响散热吗(笔记本贴贴纸会损伤屏幕么)

    笔记本贴贴纸会影响散热吗(笔记本贴贴纸会损伤屏幕么)

  • 破壁机按钮按了没反应(破壁机按键失灵怎么办)

    破壁机按钮按了没反应(破壁机按键失灵怎么办)

  • airpods连接失败原因(airpods连接失败显示该蓝牙关闭怎么办)

    airpods连接失败原因(airpods连接失败显示该蓝牙关闭怎么办)

  • win8系统还原(win8系统还原怎么操作)

    win8系统还原(win8系统还原怎么操作)

  • 汇编语言是(汇编语言是高级语言吗)

    汇编语言是(汇编语言是高级语言吗)

  • Win7系统激活的操作步骤是什么(win7操作系统激活)

    Win7系统激活的操作步骤是什么(win7操作系统激活)

  • “ 百家论坛 ” - ChatGPT(百家论坛是正规期刊吗)

    “ 百家论坛 ” - ChatGPT(百家论坛是正规期刊吗)

  • k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结(k8s部署ingress-nginx)

    k8s 部署nginx 实现集群统一配置,自动更新nginx.conf配置文件 总结(k8s部署ingress-nginx)

  • 商贸流通企业出口退税的会计处理怎么做
  • 商品房价格居高不下的原因
  • 公司账户转账给个人怎么合理避税?
  • 什么是税收制度构成要素的中心环节
  • 对公账户要收手续费吗
  • 公司基本户可以转私人账户吗
  • 工资表领导签字怎么签
  • 同一控制下企业合并报表编制
  • 通用机打发票没有税率
  • 发票丢失说明怎么填写
  • 个税手续费返还会计分录
  • 事业单位如何计提工资
  • 过节发什么物资给员工好些
  • 押金满一年才能退
  • 购买税控盘的钱能全额抵扣增值税吗
  • 价格调节基金税率和计税依据
  • 民营医院增值税政策
  • 增值税专票盖章盖在哪里
  • 普通增值税发票查询结果不一致是什么原因?
  • 原始凭据
  • 党建展板排版样式
  • 税后利润分配需要计提吗
  • 业务招待费有增值税吗
  • 收到财政奖励扶持资金账务处理?
  • win11任务栏图标删除
  • macbook怎么压缩视频大小
  • 滴滴发票开公司名称可以抵扣进项吗
  • 补提去年所得税分录
  • 文字转换表格怎么设置行列
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • svchost程序错误怎么修复
  • Thinkphp5+PHPExcel实现批量上传表格数据功能
  • Linux系统中quota磁盘命令的相关使用解析
  • 固定资产财产损失的账务处理
  • phpstorm怎么用
  • 微信php开发教程
  • 购买商品房交税流程
  • 业务招待费有
  • 外国人在中国工作有五险一金吗
  • 最贵的苹果电脑99万
  • 苏尼亚尼
  • 七月份收入
  • 冲红的销项税怎么结转
  • java htmlparser
  • 自营与代理
  • 上个月成本做多了怎么冲账
  • 资产计税基础填资产原值吗
  • 没授权的帝国cms作为商用行吗
  • 收客户样品费怎么做分录
  • 航天信息服务费的会计分录
  • 通过MySQL日志实时查看执行语句以及更新日志的教程
  • 汽油费入什么会计分录
  • mysql查询并设置变量
  • 企业所得税余额为负数
  • 购买原材料的支出
  • 个体定期定额怎么征税
  • 个体户该怎么交公积金
  • 现在增值税是多少个点
  • 递延资产放在资产负债表哪里
  • 预收账款是否要交说
  • 增值税普通发票需要交税吗
  • 普通发票的开具办法是?
  • 购进货物取得
  • sql2008没有数据库
  • linux中yum的使用
  • winxp系统停止服务
  • linux网卡lo
  • centos 操作日志
  • windows8如何调用摄像头
  • win8隐藏的文件夹怎么找出来
  • unity游戏之友利拟收购《刀塔传奇》发行商中清龙图
  • nodejs视频教程大集合
  • 消耗cpu的软件
  • 深入浅出nginx实战
  • unity behavior designer
  • 广州电子税局
  • 太原市小店区电影院营业时间
  • 地税局多措并举工作总结
  • 地税服务大厅上班时间
  • 小组长的职责及职责
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设