Dplayer – 一款非常优秀的开源弹幕H5播放器

  Dplayer简介

  Dplayer是一款非常优秀的开源的HTML5弹幕视频播放器,基于JavaScript编写,遵守MIT开源协议。支持的流媒体格式包含:HLS FLV MPEG DASH WebTorrent,自定义流媒体格式等。多媒体格式支持:MP4 H.264 WebM Ogg Theora Vorbis。附上项目文档及地址:

  #官方文档地址

https://dplayer.diygod.dev

  #项目仓库地址

https://github.com/DIYgod/DPlayer

  另外,DPlayer系列播放器还包含Vue和React版本。

  Dplayer demo

Dplayer - 一款非常优秀的开源弹幕H5播放器

DEMO HTML

<link rel="stylesheet" href="DPlayer.min.CSS">
<!-- ... -->
<div id="player" class="dplayer"></div>
<!-- ... -->
<!--HLS和FLV支持需要在 DPlayer.min.js 前面加载 hls.js或者flv.js-->
<script type="text/JavaScript" src="hls.min.js"></script>
<script type="text/javascript" src="flv.min.js"></script>
<script type="text/javascript" src="DPlayer.min.js"></script>

DEMO JS

var dp = new DPlayer({
    container: document.getElementById('player'),
    autoplay: false,//自动播放
    preload: 'auto',//视频预加载
    volume: 0.7,//默认音量
    video: {
        url: https://xxx.com/index.M3U8,//视频地址
        type: 'auto',//视频类型
        pic: '',//视频封面
        thumbnails: '',//缩略图
    },
});

Dplayer参数

const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    autoplay: false,//自动播放
    live: false,//直播模式
    theme: '#FADFA3',//主题颜色
    loop: true,//循环播放
    lang: 'zh-cn',//语言选择
    screenshot: true,//截图选项
    hotkey: true,//热键开启
    airplay: false,//在 Safari 中开启 AirPlay
    lang: 'zh-cn',//语言
    preload: 'auto',//视频预加载
    logo: 'logo.png',//LOGO
    volume: 0.7,//音量
    mutex: true,//播放器互斥
    video: {//视频参数
        url: 'dplayer.mp4',//视频地址
        pic: 'dplayer.png',//视频封面
        thumbnails: 'thumbnails.jpg',//缩略图
        type: 'auto',//视频类型
    },
    subtitle: {//外挂字幕参数
        url: 'dplayer.vtt',
        type: 'webvtt',
        fontSize: '25px',
        bottom: '10%',
        color: '#b7daff',
    },
    danmaku: {//弹幕参数
        id: '9E2E3368B56CDBB4',
        api: 'https://api.prprpr.me/dplayer/',
        token: 'tokendemo',
        maximum: 1000,
        addition: ['https://api.prprpr.me/dplayer/v3/bilibili?aid=4157142'],
        user: 'DIYgod',
        bottom: '15%',
        unlimited: true,
        speedRate: 0.5,
    },
    contextmenu: [//鼠标右键菜单参数
        {
            text: 'custom1',
            link: 'https://GitHub.com/DIYgod/DPlayer',
        },
        {
            text: 'custom2',
            click: (player) => {
                console.log(player);
            },
        },
    ],
    highlight: [//自定义进度条提示点参数
        {
            time: 20,
            text: '这是第 20 秒',
        },
        {
            time: 120,
            text: '这是 2 分钟',
        },
    ],});

Dplayer API

  Dplayer有比较全面的API,结合Dplayer的事件绑定能够满足大部分开发者对视频页面的设计与控制,例如:

  1、在暂停视频的同时,插入一个广告图片

  2、在视频播放完毕之后,切换到下一个视频

  3、当播放器加载视频失败时,弹出一个显示错误的提示框

  等等…

dp.play(): 播放视频
dp.pause(): 暂停视频
dp.seek(time: number): 跳转到特定时间
dp.toggle(): 切换播放和暂停
dp.on(event: string, handler: function): 绑定视频和播放器事件
dp.switchVideo(video, danmaku): 切换到其他视频
dp.notice(text: string, time: number): 显示通知,时间的单位为毫秒,默认时间 2000 毫秒,默认透明度 0.8
dp.switchQuality(index: number): 切换清晰度
dp.destroy(): 销毁播放器
dp.speed(rate: number): 设置视频速度
dp.volume(percentage: number, nostorage: boolean, nonotice: boolean): 设置视频音量
dp.video: 原生 video
dp.video.currentTime: 返回视频当前播放时间
dp.video.duration: 返回视频总时间
dp.video.paused: 返回视频是否暂停
dp.danmaku
dp.danmaku.send(danmaku, callback: function): 提交一个新弹幕
dp.danmaku.draw(danmaku): 实时绘制一个新弹幕
dp.danmaku.opacity(percentage: number): 设置弹幕透明度,透明度值在 0 到 1 之间
dp.danmaku.clear(): 清除所有弹幕
dp.danmaku.hide(): 隐藏弹幕
dp.danmaku.show(): 显示弹幕
dp.fullScreen: 两个类型:web 和 browser,默认类型是 browser
dp.fullScreen.request(type: string): 进入全屏
dp.fullScreen.cancel(type: string): 退出全屏
//格式:
dp.on(event, handler)

//例子:
dp.on('ended', function () {
    console.log('player ended');
});
    
//视频事件
abort
canplay
canplaythrough
durationchange
emptied
ended
error
loadeddata
loadedmetadata
loadstart
mozaudioavailable
pause
play
playing
progress
ratechange
seeked
seeking
stalled
suspend
timeupdate
volumechange
waiting

//播放器事件
screenshot
thumbnails_show
thumbnails_hide
danmaku_show
danmaku_hide
danmaku_clear
danmaku_loaded
danmaku_send
danmaku_opacity
contextmenu_show
contextmenu_hide
notice_show
notice_hide
quality_start
quality_end
destroy
resize
fullscreen
fullscreen_cancel
subtitle_show
subtitle_hide
subtitle_change

温馨提示:
本站所发布的全部内容源于互联网收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
重点提示:
互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责! 本网站部分内容只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,需要自己判断。 本网站仅做资源分享,不做任何收益保障,希望大家可以认真学习。本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系本站删除,将及时处理!
如果遇到付费才可观看的文章,建议升级VIP会员。全站所有资源“VIP会员无限制下载”。

给TA打赏
共{{data.count}}人
人已打赏
杂七杂八

金鹰资源网:热播影片一网打尽,高峰不卡秒拖秒播!

2025-3-12 11:00:43

其他插件

超酷的开源H5视频播放器CKplayer

2025-3-6 10:39:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索