当前位置:
  1. 首页 »
  2. 教程 »
  3. 正文

M3U8 H5 播放器DPlayer搭建

零分 2,090

DPlayer官方教程不清晰,GitHub打包下载的ZIP文件很乱,不知道该引入哪个JS,另外HLS是另外一个开发项目,而M3U8链接的播放又必须引入HLS的JS,如果看指南,下载GitHub上的项目,真的会看的一头雾水。

而事实上,M3U8链接播放,DPlayer的搭建,只需要3个JS,一个是JQ库,一个是DPlayer.js,另外一个就是HLS.js,这3个文件直接从官网指南里下载就可以了。官网链接

另外一个JQ文件,百度就可以直接下载,接下来就简单了。直接按照指南引入JS,创建DPlayer播放器

<div id="dplayer"></div>
<script src="hls.min.js"></script>      //本地文件路径
<script src="DPlayer.min.js"></script>  //本地文件路径

初始化播放器

const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    video: {
        url: 'demo.m3u8',  //M3U8播放链接
        type: 'hls',
    },
    pluginOptions: {
        hls: {
            // hls config
        },
    },
});

另外一种方式,这种方式适合接入其他的方式,如P2P,上面那种方式基本上都够用

const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    video: {
        url: 'demo.m3u8', //M3U8播放链接
        type: 'customHls',
        customType: {
            customHls: function (video, player) {
                const hls = new Hls();
                hls.loadSource(video.src);
                hls.attachMedia(video);
            },
        },
    },
});

需要注意的是:3个JS的顺序,JQ、HLS、DPlayer,然后就是初始化播放器的JS,关于其他的参数,参考官网指南!

在实际的测试中,iPhone手机的默认浏览器Safari无法创建DPlayer播放器,原因暂时未找到,不过,iPhone可以直接播放M3U8链接,所以,可以通过判断,在iPhone端,直接用video标签。

JS判断代码

<script type="text/javascript">
            /* 智能机浏览器版本信息: */
            var browser = {
                versions: function() {
                    var u = navigator.userAgent, app = navigator.appVersion;
                    return {
                        //移动终端浏览器版本信息
                        trident: u.indexOf('Trident') > -1, //IE内核
                        presto: u.indexOf('Presto') > -1, //opera内核
                        webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                        gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                        mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
                        ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                        android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                        iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                        iPad: u.indexOf('iPad') > -1, //是否iPad
                        webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
                    };
                }(),
                language: (navigator.browserLanguage || navigator.language).toLowerCase()
            }

            if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
                document.writeln("苹果: " + browser.language +"<br><br>");
            }
            else if (browser.versions.android) {
                document.writeln("安卓: " + browser.language +"<br><br>");
            }else{
                document.writeln("电脑: " + browser.language +"<br><br>");
            }

            document.writeln("语言版本: " + browser.language +"<br><br>");
            document.writeln(" 是否为移动终端: " + browser.versions.mobile +"<br><br>");
            document.writeln(" ios终端: " + browser.versions.ios +"<br><br>");
            document.writeln(" android终端: " + browser.versions.android +"<br><br>");
            document.writeln(" 是否为iPhone: " + browser.versions.iPhone +"<br><br>");
            document.writeln(" 是否iPad: " + browser.versions.iPad +"<br><br>");
            document.writeln(navigator.userAgent +"<br><br>");

        </script>

wordpress博客主题Eson.X.Blog V6.0.0设置教程

图标设置 亮色模式Logo设置/暗色模式Logo设置:建议尺寸:220X60 favicon设置:格式建议png,浏览器的网站图标。 头像设置:展示位置,侧栏 微信二维码设置、QQ二维码设置、公众号二维码设置,鼠标经过微信号等弹出。 基础设置 昵称设置、微信号设置、QQ号设置、邮箱设置、公众号设置、个人介绍设置、建站日期设置。侧栏第一模块展示。 发布时间设置:开启后,文章发布部分会显示:1天前、1周前、1年前等。 阅读千单位显示:开启后,阅读量显示千位分隔符 阅读万+显示:开启后,阅读大于1万时显示1万+,2万+等 阅读基数:发布文章时显示的基础阅读数,100,200,300,time,选择t
教程 1,228

iPhone11 iOS17.4.1移植电芯后亲测校准电池健康寿命

以往通过爱思勾选修复电池来校准iPhone11电池健康在iOS17.4.1已经行不通了。 以往通过爱思一键刷机,到31%拔掉数据线,之后重新刷机来校准电池健康,在iOS17.4.1也已经行不通了。 iOS17.4.1校准电池健康可行方法: 用爱思的iTunes,常规快速刷机来校准电池健康。 1、下载固件,选择爱思的iTunes,常规快速刷机 2、在刷机进度条到了26%的时候,拔掉数据线 这里好像有多个26%,如解压进度等,拔掉数据线的26%是,当看到正在更新S3E固件时,准备拔掉数据线,因为这个时候,不出意外的话,应该是24%的时候提示正在更新S3E固件! 然后重新插入数据线,重新刷机,等待刷
教程 3,658

Windows ISO光盘镜像文件下载方法

打开Windows官网:www.microsoft.com/zh-cn/ 下拉到底部,进入下载中心,直连地址:https://www.microsoft.com/zh-cn/download 进入Windows,选择下面需要下载的镜像,目前官网提供Windows11、Windows10和Windows8.1下载,选择一个,进入下载页面,直连地址 Windows11:www.microsoft.com/zh-cn/software-download/windows11 Windows10:www.microsoft.com/zh-cn/software-download/windows10 Wi
教程 2,578

wordpress插件开发 添加设置选项

在开发插件是,需要有设置选项,对一些参数进行设置。 百度了很多(不知道为什么,现在有用的资源都不好找到了) 很多以前的博客网站也都不更新了,有的资源也基本都是收费,且不说费用多少,在获得资源之前,也不知道是不是自己需要的资源,对于很多代码,接口,API等也只能是通过一些片段来测试,研究,组合,最后拼凑出自己需要的,完整的来! 在插件里添加设置链接 add_filter('plugin_action_links', 'add_Lf_Password_Access_css_link', 10, 2 ); function add_Lf_Password_Access_css_link($links
教程 2,510

谷歌浏览器插件安装

谷歌浏览器插件安装,非谷歌应用商店安装的,直接将插件crx文件拉入浏览器,提示“程序包无效:"CRX_HEADER_INVALID"”。 解决方式:可以通过开发者模式安装 1、进入扩展程序页面:点击谷歌浏览器右上角竖三点菜单--更多工具--扩展程序 -- 开启开发者模式 2、将下载的谷歌浏览器插件crx文件,将扩展名crx修改成rar,解压到一个文件夹 3、在谷歌浏览器扩展页面中点击“加载已解压的扩展程序”--选择刚刚解压的插件文件夹 4、谷歌浏览器插件已安装完成
教程 2,549