原生js如何播放m3u8文件的视频,并且实现切换视频源

在网上找了很多方法都不行,最后还得是chatgpt。

首先呢在需要用到的文件中写入一下代码:

html 复制代码
<script src="https://act.mcake.com/fangli/2018/wap/commonjs/jquery.min.js"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript" charset="utf-8"></script>
<link href="https://cdn.bootcss.com/video.js/7.6.5/alt/video-js-cdn.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/video.js/6.6.2/video.js"></script>
<script src="https://cdn.bootcss.com/videojs-contrib-hls/5.15.0/videojs-contrib-hls.min.js"></script>

外部链接,无需下载

然后再下一个video

html 复制代码
<video id="myVideo" class="video-js vjs-default-skin vjs-big-play-centered image_1" controls autoplay webkit-playsinline="true" playsinline="true" type="video/m3u8" data-setup='{}'>
    	<source class="sdfhg" id="source" src="xxxxx.m3u8" type="application/x-mpegURL">
</video>

现在是只要链接可以用就可以直接自动播放的

下面是切换视频源的方法

javascript 复制代码
        function play(i) {
				var myVideo = videojs('myVideo')
				myVideo.pause() // 视频暂停
				myVideo.currentSrc('');
				myVideo.src({  
				    type: 'application/x-mpegURL', // 或 'video/mp2t' 对于某些浏览器/服务器配置  
				    src: video_data[i].video_url // 新的 m3u8 URL  
				});  
				myVideo.load();  
				myVideo.on('loadedmetadata', function() {  
				    // 可以在这里继续播放或更新 UI  
				    myVideo.play();  
				});  
				  
				myVideo.on('error', function(event, error) {  
				    // 处理错误  
				    console.error('An error occurred:', error);  
				});
			}

拿走拿走!,不用谢!

相关推荐
奈斯先生Vector2 分钟前
AIGC 视频生成换个拍法:用 Kling Video 把一张人物图变成可剪辑的短故事
开发语言·人工智能·windows·python·aigc·音视频
mONESY3 分钟前
给大模型装上记忆:Agent 的 Memory 模块,从 InMemory 到文件到 Milvus 向量数据库
javascript
一木 之林4 分钟前
五、C++ 新特性、关键字与编译原理(进阶)(一)
c语言·开发语言·c++
橘子星7 分钟前
给 Agent 装上有记忆的"脑子"(一):用 LangChain 打通内存记忆、文件持久化与上下文截断
javascript
光影少年8 分钟前
从输入URL到页面渲染,React/RN 整体加载流程
前端·javascript·react native·react.js·前端框架
兔子零10249 分钟前
我给 Pi Coding Agent 做了一个桌面控制台:Pi-Harness
前端·javascript·后端
秋名RG10 分钟前
Java IO 体系深度剖析:从流式编程到 JDK 21 高并发陷阱
java·开发语言
橘子星12 分钟前
给 Agent 装上有记忆的"脑子"(二):对话太长会撑爆上下文?用"自动总结"给记忆瘦身
javascript
橘子星15 分钟前
给 Agent 装上有记忆的"脑子"(三):把对话存进向量库,让 Agent 拥有"长期记忆"
javascript·人工智能
Pocker_Spades_A20 分钟前
Python快速入门专业版(五十九):re实战——用正则爬取豆瓣电影Top250(全流程解析)
开发语言·python