当前位置: 首页 > news >正文

h5直播源码,如何实现一个简易播放器? - 云豹科技

h5直播源码,如何实现一个简易播放器?

利用 html + js + css 实现一个播放器的简单功能
我们在页面开发过程中会遇到,在页面中播放视频的需求。通常我们利用成熟的 视频播放插件来处理

如: video.js 。但是,为了我们的个人成长,也需要了解下如何实现一个简单的 h5 播放器功能。

要实现一个播放功能通常包括:

1、video 标签的使用
2、模拟视频进度条
3、控制播放和暂停
4、控制音量
5、快进和回退

布局

<div class="player"><video src="./video.mp4" class="player_video"></video><div class="player_controls"><div class="progress"><div class="progress_fill"></div></div><button class="player_button toggle" title="Toggle Play">►</button><inputtype="range"class="player_range"name="playbackRate"min="0.5"max="2"step="0.1"value="1"/><button data-skip="-10" class="player_button">« 10s</button><button data-skip="25" class="player_button">25s »</button></div>
</div>

样式

// .scss
html {box-sizing: border-box;
}*,
*:before,
*:after {box-sizing: inherit;
}body {background: #fff;min-height: 100vh;background-size: cover;display: flex;align-items: center;justify-content: center;margin: 0;padding: 0;
}
.player {width: 750px;border: 2px solid #000;position: relative;font-size: 0;overflow: hidden;.player_video {width: 100%;}&:fullscreen {max-width: none;width: 100%;}&:-webkit-full-screen {max-width: none;width: 100%;}&:hover .progress {height: 15px;}&:hover .player_controls {transform: translateY(0);}
}
.player_controls {display: flex;position: absolute;bottom: 0;width: 100%;transform: translateY(100%) translateY(-5px);transition: all 0.3s;flex-wrap: wrap;background: rgba(0, 0, 0, 0.7);& > * {flex: 1;}.player_button {background: none;border: 0;outline: none;line-height: 1;color: #fff;text-align: center;padding: 0;cursor: pointer;max-width: 50px;&:focus {border-color: #ffc600;}}.player_range {width: 10px;height: 30px;}.progress {flex: 10;position: relative;display: flex;flex-basis: 100%;height: 5px;transition: height 0.3s;background: rgba(0, 0, 0, 0.5);cursor: ew-resize;.progress_fill {// width: 10%;background: #ffc600;flex: 0;flex-basis: 10%;}}
}
// 进度条
input[type='range'] {-webkit-appearance: none;background: transparent;width: 100%;margin: 0 5px;&:focus {outline: none;}&::-webkit-slider-runnable-track {width: 100%;height: 8.4px;cursor: pointer;box-shadow: 1px 1px 1px rgba(0, 0, 0, 0), 0 0 1px rgba(13, 13, 13, 0);background: rgba(255, 255, 255, 0.8);border-radius: 1.3px;border: 0.2px solid rgba(1, 1, 1, 0);}&::-webkit-slider-thumb {height: 15px;width: 15px;border-radius: 50px;background: #ffc600;cursor: pointer;-webkit-appearance: none;margin-top: -3.5px;box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);}&:focus::-webkit-slider-runnable-track {background: #bada55;}&::-moz-range-track {width: 100%;height: 8.4px;cursor: pointer;box-shadow: 1px 1px 1px rgba(0, 0, 0, 0), 0 0 1px rgba(13, 13, 13, 0);background: #ffffff;border-radius: 1.3px;border: 0.2px solid rgba(1, 1, 1, 0);}&::-moz-range-thumb {box-shadow: 0 0 0 rgba(0, 0, 0, 0), 0 0 0 rgba(13, 13, 13, 0);height: 15px;width: 15px;border-radius: 50px;background: #ffc600;cursor: pointer;}
}

脚本

 const player = document.querySelector('.player');const video = document.querySelector('.player_video');const toggle = document.querySelector('.toggle');// 播放 or 暂停function toggleVideo() {const methods = video.paused ? 'play' : 'pause';video[methods]();}function updateButton() {const image = this.paused ? '►' : '❚ ❚';toggle.textContent = image;}// 控制播放
video.addEventListener('click', toggleVideo);
video.addEventListener('play', updateButton);
video.addEventListener('pause', updateButton);
toggle.addEventListener('click', toggleVideo);

以上就是h5直播源码,如何实现一个简易播放器?, 更多内容欢迎关注之后的文章

http://www.rkmt.cn/news/23407.html

相关文章:

  • 2025 年换热器厂家最新推荐榜单:涵盖不锈钢钛哈氏合金等材质及列管式螺旋板等类型,为企业采购提供优质选择
  • 2025 水泥墩源头厂家最新推荐排行榜:光伏 / 交通 / 围挡等多品类优选,实力品牌权威榜单发布
  • 2025年鸡精生产线/高速混合机/WDG农药生产线/鸡粉干燥设备/海鲜精干燥设备厂家推荐排行榜,调味料干燥设备/全自动配料/螺带混合机优质品牌!
  • 2025 年过滤机厂家最新推荐排行榜:胶带式 / 盘式真空 / 脱水 / 带式真空 / 水平带式过滤机企业精选及选购指南
  • 在MySQL中 redolog undolog binlog 写入的场景,顺序
  • 2025年大连网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/代运营公司权威推荐榜
  • 低空经济新纪元:AI驱动的智能无人机技巧与应用
  • Aniyomi:功能强大的动漫影视播放阅读器
  • Cisco ASR 9000 Router IOS XR Release 7.11.2 MD - 思科 ASR 9000 路由器系统软件
  • 10.16 闲话-k 短路
  • AI深度学习平台快速诊断肌张力障碍
  • 2025年干燥机厂家推荐排行榜,小型喷雾/实验室离心喷雾/双锥回转真空/搪瓷双锥/旋转闪蒸/振动流化床/真空耙式/单层带式/多层带式/立式沸腾/卧式沸腾/滚筒刮板干燥机!
  • 2025年CNC高压清洗机厂家推荐排行榜,CNC全自动高压清洗机,CNC去毛刺清洗机,工业CNC高压清洗机公司推荐!
  • 数字化ERP“一图四清单”战略执行体系 - 智慧园区
  • 2025年信息流代运营服务商权威推荐榜:精准投放与高效转化的首选!
  • 2025年铝单板厂家推荐排行榜,氟碳/木纹/冲孔/外墙/雕花/异形/双曲/弧形/雕刻铝单板公司精选
  • 2025年无锡公考/考编培训机构推荐榜单,事业单位/央企国企考编培训优选机构!
  • 2025年储罐源头厂家权威推荐榜单:钢衬塑/钢塑复合/化工/防腐/PE/盐酸/硫酸/聚丙烯/不锈钢/次氯酸钠储罐公司精选
  • 2025年发电机组厂家推荐排行榜,柴油/燃气/船用/静音箱式/移动拖车式/集装箱式,上柴/玉柴/潍柴/康明斯/沃尔沃/道依茨/帕金斯/MTU品牌精选!
  • 2025年舒适耐磨轮胎厂家推荐排行榜,静音轮胎,耐用轮胎,高性能轮胎公司推荐!
  • 2025年爱采购代运营/店铺托管、网页/网站搭建设计开发推广服务商推荐排行榜,一站式网络营销解决方案!
  • 2025年齿轮减速机厂家推荐排行榜,R/K斜齿轮,F平行轴齿轮,S/RV蜗轮蜗杆,HB工业齿轮箱,B/BKM摆线针轮公司推荐!
  • 2025陶瓷过滤机厂家推荐:杰达机械,固液分离与尾矿处理专家!
  • 绝地潜兵2mod替换 - MKT
  • 渲染管线技术详解
  • Codeforces Round 1059 (Div. 3)
  • 升鲜宝生鲜配送供应链管理系统-----仓库作业任务模块开发文档
  • 24 Hongkong B and 2023 ICPC Shenyang
  • CF1133 合集
  • CF1824D 题解