dplayer - H5视频播放器 前端资源


http://dplayer.js.org/zh/

https://github.com/DIYgod/DPlayer

https://github.com/video-dev/hls.js

https://github.com/Bilibili/flv.js


---加载播放器文件:

<div id="dplayer"></div>

<script src="DPlayer.min.js"></script>


---在 js 里初始化:

const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    video: {
        url: 'demo.mp4',
    },
});


---m3u8支持

<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',
        type: 'hls',
    },
    pluginOptions: {
        hls: {
            // hls config
        },
    },
});
console.log(dp.plugins.hls); // Hls 实例


---FLV支持

<div id="dplayer"></div>

<script src="flv.min.js"></script>

<script src="DPlayer.min.js"></script>

const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    video: {
        url: 'demo.flv',
        type: 'flv',
    },
    pluginOptions: {
        flv: {
            // refer to https://github.com/bilibili/flv.js/blob/master/docs/api.md#flvjscreateplayer
            mediaDataSource: {
                // mediaDataSource config
            },
            config: {
                // config
            },
        },
    },
});
console.log(dp.plugins.flv); // flv 实例


---配合其他 MSE 库使用

<div id="dplayer"></div>

<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest"></script>

<script src="https://static.htmltoo.com/master/dplayer/dplayer.min.js"></script>

<script>
var type = 'normal';
if(Hls.isSupported() && Hls.WEBRTC_SUPPORT) {
    type = 'customHls';
}
const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    autoplay: true,     // 可选,自动播放视频,不支持移动浏览器
    loop: true,         // 可选,循环播放音乐,默认:true
    lang: 'zh',         // 可选,语言,`zh'用于中文,`en'用于英语,
    video: {
        url: 'demo.m3u8',
        type: type,
        customType: {
            'customHls': function (video, player) {
                const hls = new Hls({
                    debug: false,
                    // Other hlsjsConfig options provided by hls.js
                    p2pConfig: {
                        live: false,        // 如果是直播设为true
                        // Other p2pConfig options provided by CDNBye http://www.cdnbye.com/cn/
                    }
                });
                hls.loadSource(video.src);
                hls.attachMedia(video);
            }
        }
    },
});
</script>


---参数

DPlayer 有丰富的参数可以自定义你的播放器实例

名称默认值描述
containerdocument.querySelector('.dplayer')播放器容器元素
livefalse开启直播模式, 见#直播
autoplayfalse视频自动播放
theme'#b7daff'主题色
loopfalse视频循环播放
langnavigator.language.toLowerCase()可选值: 'en', 'zh-cn', 'zh-tw'
screenshotfalse开启截图,如果开启,视频和视频封面需要允许跨域
hotkeytrue开启热键,支持快进、快退、音量控制、播放暂停
airplaytrue在 Safari 中开启 AirPlay
preload'auto'视频预加载,可选值: 'none', 'metadata', 'auto'
volume0.7默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效
playbackSpeed[0.5, 0.75, 1, 1.25, 1.5, 2]可选的播放速率,可以设置成自定义的数组
logo-在左上角展示一个 logo,你可以通过 CSS 调整它的大小和位置
apiBackend-自定义获取和发送弹幕行为,见#直播
video-视频信息
video.quality-#清晰度切换
video.defaultQuality-#清晰度切换
video.url-视频链接
video.pic-视频封面
video.thumbnails-视频缩略图,可以使用 DPlayer-thumbnails (opens new window)生成
video.type'auto'可选值: 'auto', 'hls', 'flv', 'dash', 'webtorrent', 'normal' 或其他自定义类型, 见#MSE 支持
video.customType-自定义类型, 见#MSE 支持
subtitle-外挂字幕
subtitle.urlrequired字幕链接
subtitle.type'webvtt'字幕类型,可选值: 'webvtt', 'ass',目前只支持 webvtt
subtitle.fontSize'20px'字幕字号
subtitle.bottom'40px'字幕距离播放器底部的距离,取值形如: '10px' '10%'
subtitle.color'#fff'字幕颜色
danmaku-显示弹幕
danmaku.idrequired弹幕池 id,必须唯一
danmaku.apirequired#弹幕接口
danmaku.token-弹幕后端验证 token
danmaku.maximum-弹幕最大数量
danmaku.addition-额外外挂弹幕,见#bilibili 弹幕
danmaku.user'DIYgod'弹幕用户名
danmaku.bottom-弹幕距离播放器底部的距离,防止遮挡字幕,取值形如: '10px' '10%'
danmaku.unlimitedfalse海量弹幕模式,即使重叠也展示全部弹幕,请注意播放器会记忆用户设置,用户手动设置后即失效
contextmenu[]自定义右键菜单
highlight[]自定义进度条提示点
mutextrue互斥,阻止多个播放器同时播放,当前播放器播放时暂停其他播放器


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回