DPlayer 是一个支持弹幕的 HTML5 视频播放器。支持 Bilibili 视频和 danmaku,实时视频(HTTP Live Streaming,M3U8格式)以及 FLV 格式。
用法
HTML
<div id="player1" class="dplayer"></div>
<!-- ... -->
<script src="dist/DPlayer.min.js"></script>
选项
var dp = new DPlayer({
element: document.getElementById('player1'), // 可选,player元素
autoplay: false, // 可选,自动播放视频,不支持移动浏览器
theme: '#FADFA3', // 可选,主题颜色,默认: #b7daff
loop: true, // 可选,循环播放音乐,默认:true
lang: 'zh', // 可选,语言,`zh'用于中文,`en'用于英语,默认:Navigator
language
screenshot: true, // 可选,启用截图功能,默认值:false,注意:如果设置为
true,视频和视频截图必须启用跨域
hotkey: true, // 可选,绑定热键,包括左右键和空格,默认值:true
preload: 'auto', // 可选,预加载的方式可以是'none''metadata''auto',默认
值:'auto'
video: { // 必需,视频信息
url: '若能绽放光芒.mp4', // 必填,视频网址
pic: '若能绽放光芒.png' // 可选,视频截图
},
danmaku: { // 可选,显示弹幕,忽略此选项以隐藏弹幕
id: '9E2E3368B56CDBB4', // 必需,弹幕 id,注意:它必须是唯一的,不能在你的新播放器
中使用这些: `https://api.prprpr.me/dplayer/list`
api: 'https://api.prprpr.me/dplayer/', // 必需,弹幕 api
token: 'tokendemo', // 可选,api 的弹幕令牌
maximum: 1000, // 可选,最大数量的弹幕
addition: ['https://api.prprpr.me/dplayer/bilibili?aid=4157142'] // 可选的,额外的弹幕,参见:`Bilibili弹幕支持`
}
});
API
dp.play()
// 继续播放dp.play(time)
// 设置当前时间dp.pause()
// 暂停dp.toggle()
// 在播放和暂停之间切换dp.on(event, handler)
// 事件绑定dp.switchVideo(video, danmaku)
// 切换到新视频,video
和danmaku
的格式与选项相同dp.dan
// 返回弹幕信息dp.danIndex
// 返回弹幕索引dp.video
// 返回原生视频,支持大多数格式dp.video.currentTime
// 返回当前播放位置dp.video.loop
// 返回完成后视频是否应重新开始dp.vidio.paused
// 返回视频是否已暂停- 更多 原生 api
事件绑定
dp.on(event, handler)
事件:
play
: DPlayer 开始播放时触发pause
: DPlayer 暂停时触发canplay
: 在有足够的数据可以播放时触发playing
: DPlayer 播放时定期触发ended
: DPlayer 结束时触发error
: 发生错误时触发
HLS支持(实时视频,M3U8格式)
它需要 hls.js 库,并且应该在 DPlayer.min.js 之前加载。实时弹幕尚不支持。
<div id="player1" class="dplayer"></div>
<!-- ... -->
<script src="plugin/hls.min.js"></script>
<script src="dist/DPlayer.min.js"></script>
<script>
var dp = new DPlayer({
// ...
video: {
url: 'xxx.m3u8'
// ...
}
});
</script>
FLV支持
它需要 flv.js 库,并且应该在 DPlayer.min.js 之前加载。
<div id="player1" class="dplayer"></div>
<!-- ... -->
<script src="plugin/flv.min.js"></script>
<script src="dist/DPlayer.min.js"></script>
<script>
var dp = new DPlayer({
// ...
video: {
url: 'xxx.flv'
// ...
}
});
</script>
使用bundler模块
var DPlayer = require('DPlayer');
var dp = new DPlayer(option);
2017-08-11