文章最后更新时间:2024年05月30日
Dplayer简介
Dplayer是一款非常优秀的开源的HTML5弹幕视频播放器,基于JavaScript编写,遵守MIT开源协议。支持的流媒体格式包含:HLS FLV MPEG DASH WebTorrent ,自定义流媒体格式等。多媒体格式支持: MP4 H.264 WebM Ogg Theora Vorbis。附上项目文档及地址:
# 官方文档地址
# 项目仓库地址
https://github.com/DIYgod/DPlayer
另外,DPlayer系列播放器还包含Vue和React版本。
Dplayer demo
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): 退出全屏
DPlayer 事件绑定
//格式: 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
文章版权声明:除非注明,否则均为十八码原创文章,转载或复制请以超链接形式并注明出处。
发表评论