本帖最后由 聆听天笑 于 2022-1-9 11:39 编辑
一直想在易语言中直接播放m3u8,尝试了很多种办法,精易浏览器用不了,aplayer也不行,cef到时可以起但是文件太大了。
所以一直想用js+H5直接播放m3u8,有个比较好的方案是videojs可惜了只能在cef里面播放,用超文本浏览框加载不了视频,只有个界面。
最后用了阿里云的aliplayer可以完美解决这个问题,而且超文本浏览框可以直接播放,解决了我想小又想简单的问题。
下面开始正题
1. 阿里云Aliplayer播放器 (alicdn.com) 自己根据需求配置,然后生成代码
[HTML] 纯文本查看 复制代码 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=edge" >
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/>
<title>Aliplayer Online Settings</title><link rel="stylesheet" />
<script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/de/prismplayer/2.9.17/aliplayer-min.js"></script>
</head>
<body>
<div class="prism-player" id="player-con"></div>
<script>
var player = new Aliplayer({
"id": "player-con",
"source": "https://cachedata.pangujiexi.com:4433/data/ykm3u8/XNDk5MDM5Nzc1Mg.m3u8",
"width": "100%",
"height": "500px",
"autoplay": true,
"isLive": false,
"rePlay": false,
"playsinline": true,
"preload": true,
"controlBarVisibility": "hover",
"useH5Prism": true
}, function (player) {
console.log("The player is created");
}
);
</script>
</body>
然后将这个代码保存到本地,重新命名为player.html
在超文本框直接用这个player.html即可播放m3u8
2.提供一个替换player.html里面的source
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件号 | 整数型 | | | 原始文本 | 文本型 | | | 正则 | 正则表达式类 | | | 新文本 | 文本型 | | |
文件号 = 打开文件 (取运行目录 () + “\player.html”, , )读入数据 (文件号, 原始文本 )移到文件首 (文件号 )正则. 创建 (“#引号source#引号: #引号([\s\S]*?)#引号”, 原始文本, 假, 假, 真, 真)新文本 = 正则. 替换 ( #引号 + “source” + #引号 + “: ” + #引号 + 视频源 + #引号 ) 写出数据 (文件号, 新文本 )关闭文件 (文件号 )
|