Html播放m3u8视频

一,首先现在hls.js

hls.js

二,html代码

html 复制代码
<video id="video" webkit-playsinline playsinline x5-playsinline controls
      width="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 浏览器原生支持 HLS
            else 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');
                }
            }
        }

        // 初始化 HLS
        initHls();

        // 事件监听
        video.addEventListener('waiting', () => {
        });
        video.addEventListener('playing', () => {
        });
        video.addEventListener('timeupdate', ()=>{
            //监听播放进度
            if (video.currentTime > 0 && video.currentTime >= video.duration){
                app.ksbtndisable = false;
            }
        });
    });
</script>
相关推荐
Prannt1 天前
星朗智能语音——语音合成——上传文件配音
ai·音视频·语音识别
byte轻骑兵1 天前
【AVRCP】规范精讲[7]: 打通AVCTP互操作底层,吃透事务标签与分片规则
人工智能·音视频·avrcp·音视频控制
EasyGBS1 天前
国标GB28181视频平台EasyGBS即将重磅新增WHIP推流功能!低延迟直播体验再升级
音视频
jiejiejiejie_1 天前
Flutter for OpenHarmony 萌系实战合集:地图功能 + 音频播放一站式指南
flutter·音视频
jbk33111 天前
10分钟翻译一条视频,实现语音、字幕翻译后与画面同步对齐,视频翻译助手使用教程
人工智能·音视频·剪辑软件·剪映自动化软件
带娃的IT创业者1 天前
DaVinci Resolve – Photo:当视频调色之王,跨界“修图”,意味着什么?
图像处理·音视频·工作流·davinci resolve·后期制作·视频调色·色彩管理
nashane2 天前
HarmonyOS Video组件预览图片优化实践:告别黑屏,提升视频播放体验
华为·音视频·harmonyos·harmonyos 5
科研前沿2 天前
2026 数字孪生前沿科技:全景迭代报告 —— 镜像视界生成式孪生(Generative DT)技术白皮书
大数据·人工智能·科技·算法·音视频·空间计算
EasyDSS2 天前
私有化视频会议系统/视频高清直播点播EasyDSS一体化视频平台赋能各行业数字化高效协同
音视频
科研前沿2 天前
镜像视界浙江科技有限公司的关键技术突破有哪些?
大数据·人工智能·科技·算法·音视频·空间计算