|
|
9 роки тому | |
|---|---|---|
| .. | ||
| README.md | 9 роки тому | |
| index.html | 9 роки тому | |
| package.json | 9 роки тому | |
Wow, such a lovely HTML5 danmaku video player
Using DPlayer on your project? Let me know!
$ npm install dplayer --save
<div id="player1" class="dplayer"></div>
<!-- ... -->
<script src="dist/DPlayer.min.js"></script>
var dp = new DPlayer({
element: document.getElementById('player1'), // Optional, player element
autoplay: false, // Optional, autoplay video, not supported by mobile browsers
theme: '#FADFA3', // Optional, theme color, default: #b7daff
loop: true, // Optional, loop play music, default: true
lang: 'zh', // Optional, language, `zh` for Chinese, `en` for English, default: Navigator language
screenshot: true, // Optional, enable screenshot function, default: false, NOTICE: if set it to true, video and video poster must enable Cross-Origin
hotkey: true, // Optional, binding hot key, including left right and Space, default: true
preload: 'auto', // Optional, the way to load music, can be 'none' 'metadata' 'auto', default: 'auto'
video: { // Required, video info
url: '若能绽放光芒.mp4', // Required, video url
pic: '若能绽放光芒.png' // Optional, music picture
},
danmaku: { // Optional, showing danmaku, ignore this option to hide danmaku
id: '9E2E3368B56CDBB4', // Required, danmaku id, NOTICE: it must be unique, can not use these in your new player: `https://api.prprpr.me/dplayer/list`
api: 'https://api.prprpr.me/dplayer/', // Required, danmaku api
token: 'tokendemo', // Optional, danmaku token for api
maximum: 1000, // Optional, maximum quantity of danmaku
addition: ['https://api.prprpr.me/dplayer/bilibili?aid=4157142'] // Optional, additional danmaku, see: `Bilibili 弹幕支持`
}
})
dp.play() // Resume playdp.play(time) // Set currentTimedp.pause() // Pausedp.toggle() // Toggle between play and pausedp.on(event, handler) // Event bindingdp.switchVideo(video, danmaku) // Switch to a new video, the format of video and danmaku is the same as optiondp.dan // Return danmaku infodp.danIndex // Return danmaku indexdp.video // Return native video, most native api are supported
dp.video.currentTime // Returns the current playback positiondp.video.loop // Returns whether the video should start over again when finisheddp.vidio.paused // Returns whether the video pauseddp.on(event, handler)
event:
play: Triggered when DPlayer start playpause: Triggered when DPlayer pausedcanplay: Triggered when enough data is available that DPlayer can be playedplaying: Triggered periodically when DPlayer is playingended: Triggered when DPlayer endederror: Triggered when an error occursIt requires the library hls.js and it should be loaded before DPlayer.min.js.
Live danamku is not supported yet.
<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>
It requires the library flv.js and it should be loaded before 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>
var DPlayer = require('DPlayer');
var dp = new DPlayer(option);
Ready-made API:
https://api.prprpr.me/dplayer/
Build yourself:
Required environment
Danmaku
API:
https://api.prprpr.me/dplayer/bilibili?aid=【bilibili视频AV号】
or https://api.prprpr.me/dplayer/bilibili?cid=【bilibili视频cid】
var option = {
danmaku: {
// ...
addition: ['https://api.prprpr.me/dplayer/bilibili?aid=【bilibili视频AV号】']
}
}
Video link
API:
https://api.prprpr.me/dplayer/video/bilibili?aid=【bilibili视频AV号】
or https://api.prprpr.me/dplayer/video/bilibili?cid=【bilibili视频cid】
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {
var response = JSON.parse(xhr.responseText);
var dp1 = new DPlayer({
// options
screenshot: false,
video: {
url: response.durl[0].url
// options
}
});
}
else {
console.log('Request was unsuccessful: ' + xhr.status);
}
}
};
xhr.open('get', 'https://api.prprpr.me/dplayer/video/bilibili?aid=【bilibili视频AV号】', true);
xhr.send(null);
$ npm install
$ npm run dev
$ npm install
$ npm run build