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

Html播放m3u8视频

一,首先现在hls.js

        hls.js

二,html代码

<video id="video" webkit-playsinline playsinline x5-playsinline controlswidth="100%" height="100%"poster="/statics/video/poster.png">您的浏览器不支持视频播放
</video>
<script src="/statics/js/hls.js"></script>
<script>document.addEventListener('DOMContentLoaded', function() {const video = document.getElementById('video');// 视频源地址const videoSrc = "/statics/video/jzauntexam.m3u8";// 初始化 HLS 播放器function initHls() {if (Hls.isSupported()) {const hls = new Hls({enableWorker: true,lowLatencyMode: true,backBufferLength: 90});hls.loadSource(videoSrc);hls.attachMedia(video);hls.on(Hls.Events.MANIFEST_PARSED, function(event, data) {console.log('HLS manifest parsed', data);// 尝试自动播放//attemptPlay();});hls.on(Hls.Events.MEDIA_ATTACHED, function() {console.log('HLS media attached');});hls.on(Hls.Events.ERROR, function(event, data) {console.error('HLS error:', data);handleError(data);});hls.on(Hls.Events.MEDIA_ATTACHING, function() {console.log('HLS media attaching');});}// Safari 浏览器原生支持 HLSelse if (video.canPlayType('application/vnd.apple.mpegurl')) {video.src = videoSrc;video.addEventListener('loadedmetadata', function() {console.log('Safari HLS loaded');// 尝试自动播放//attemptPlay();});video.addEventListener('error', function(e) {console.error('Safari HLS error:', e);});}// 不支持 HLS 的情况else {console.error('HLS is not supported in this browser');alert('您的浏览器不支持播放该视频格式');}}// 尝试自动播放function attemptPlay() {const playPromise = video.play();if (playPromise !== undefined) {playPromise.then(() => {console.log('自动播放成功');}).catch(error => {console.log('自动播放被阻止:', error);});}}// 错误处理function handleError(error) {if (error.type === Hls.ErrorTypes.MEDIA_ERROR) {console.warn('media error encountered, try to recover');}if (error.fatal) {switch(error.type) {case Hls.ErrorTypes.NETWORK_ERROR:console.log('network error');break;case Hls.ErrorTypes.MEDIA_ERROR:console.log('media error');break;default:console.log('other error');}}}// 初始化 HLSinitHls();// 事件监听video.addEventListener('waiting', () => {});video.addEventListener('playing', () => {});video.addEventListener('timeupdate', ()=>{//监听播放进度if (video.currentTime > 0 && video.currentTime >= video.duration){app.ksbtndisable = false;}});});
</script>

http://www.dtcms.com/a/482314.html

相关文章:

  • 鞍山网站网站建设做一个交易平台网站的成本
  • 幂等机制
  • 2025.10月报 Cherry Stuido 1.6.4、Ollama 0.12.5、Dify 1.9.1升级使用摘要
  • 抗衰≠智商税:WJCZ(唯诺因)麦角硫因的细胞级抗衰技术解析
  • 做团购网站有什么难处百度联盟官网
  • 栈与队列相关知识以及算法题
  • 网站制作 wordpress游戏门户网站 织梦
  • 【第五章:计算机视觉-计算机视觉在工业制造领域中的应用】1.工业缺陷分割-(2)BiseNet系列算法详解
  • CNC 加工中的 GLTF 文件:连接设计与制造
  • 02117 信息组织【第一章】
  • rust主要用于哪些领域
  • 【OpenHarmony】分布式文件服务模块架构
  • 具身智能数据采集高校实训方案:开启机器人教育实训新篇章
  • C++中std::forward_iterator_tag 和 std::ptrdiff_t使用详解
  • 网站建设的基本因素是什么东莞模板网站
  • k8s具体安装步骤
  • 无代码网站开发上海谷歌推广
  • 48.文本预处理:给文字数据洗个澡
  • 宠物智能用品:当毛孩子遇上 AI,是便利还是过度?
  • ESP32 想提高传输速度该如何解决?
  • 百度网站网址是什么网站设计网页版
  • 公司网站留言板网站建立不安全怎么设置通过
  • 启动监控页面监控vllm,大模型,显存的占用情况
  • JavaWeb中字节流与字符流的本质区别
  • 从代码实现到概念创新:AIGC如何重塑数据可视化的价值链条?
  • ONLYOFFICE 前端实现历史记录存储与多人协作完整指南
  • 操作系统准备(UOS)
  • 不想折腾环境?如何最快用上MySQL 8.0?
  • [Dify] 插件输入参数配置详解:让 Agent 能正确理解与填写请求参数
  • 海外网站建设网站登录密码保存在哪里设置