291 lines
10 KiB
JavaScript
291 lines
10 KiB
JavaScript
// stats.js: JavaScript Performance Monitor
|
|
const stats = new Stats();
|
|
stats.showPanel(0); // 0: fps, 1: ms, 2: mb, 3+: custom
|
|
document.body.appendChild(stats.dom);
|
|
function animate() {
|
|
stats.begin();
|
|
// monitored code goes here
|
|
stats.end();
|
|
|
|
requestAnimationFrame(animate);
|
|
}
|
|
requestAnimationFrame(animate);
|
|
|
|
initPlayers();
|
|
handleEvent();
|
|
|
|
function handleEvent() {
|
|
document.getElementById('dplayer-dialog').addEventListener('click', (e) => {
|
|
const $clickDom = e.currentTarget;
|
|
const isShowStatus = $clickDom.getAttribute('data-show');
|
|
|
|
if (isShowStatus) {
|
|
document.getElementById('float-dplayer').style.display = 'none';
|
|
} else {
|
|
$clickDom.setAttribute('data-show', 1);
|
|
document.getElementById('float-dplayer').style.display = 'block';
|
|
}
|
|
});
|
|
|
|
document.getElementById('close-dialog').addEventListener('click', () => {
|
|
const $openDialogBtnDom = document.getElementById('dplayer-dialog');
|
|
|
|
$openDialogBtnDom.setAttribute('data-show', '');
|
|
document.getElementById('float-dplayer').style.display = 'none';
|
|
});
|
|
}
|
|
|
|
function initPlayers() {
|
|
// dplayer-float
|
|
window.dpFloat = new DPlayer({
|
|
container: document.getElementById('dplayer-container'),
|
|
preload: 'none',
|
|
screenshot: true,
|
|
video: {
|
|
url: 'http://static.smartisanos.cn/common/video/t1-ui.mp4',
|
|
pic: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg',
|
|
thumbnails: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg'
|
|
},
|
|
subtitle: {
|
|
url: 'subtitle test'
|
|
},
|
|
danmaku: {
|
|
id: '9E2E3368B56CDBB4',
|
|
api: 'https://api.prprpr.me/dplayer/'
|
|
}
|
|
});
|
|
// dp1
|
|
window.dp1 = new DPlayer({
|
|
container: document.getElementById('dplayer1'),
|
|
preload: 'none',
|
|
screenshot: true,
|
|
video: {
|
|
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
|
|
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
|
|
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg'
|
|
},
|
|
subtitle: {
|
|
url: [
|
|
{
|
|
url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.vtt',
|
|
lang: 'zh-cn',
|
|
name: '光',
|
|
},
|
|
{
|
|
url: 'https://gist.githubusercontent.com/samdutton/ca37f3adaf4e23679957b8083e061177/raw/e19399fbccbc069a2af4266e5120ae6bad62699a/sample.vtt',
|
|
lang: 'en-us',
|
|
name: 'github',
|
|
},
|
|
],
|
|
defaultSubtitle: 7,
|
|
type: 'webvtt',
|
|
fontSize: '25px',
|
|
bottom: '10%',
|
|
color: '#b7daff'
|
|
},
|
|
danmaku: {
|
|
id: '9E2E3368B56CDBB4',
|
|
api: 'https://api.prprpr.me/dplayer/',
|
|
addition: ['https://s-sh-17-dplayercdn.oss.dogecdn.com/1678963.json']
|
|
}
|
|
});
|
|
|
|
// dp2
|
|
window.dp2 = new DPlayer({
|
|
container: document.getElementById('dplayer2'),
|
|
preload: 'none',
|
|
autoplay: false,
|
|
theme: '#FADFA3',
|
|
loop: true,
|
|
screenshot: true,
|
|
airplay: true,
|
|
chromecast: true,
|
|
hotkey: true,
|
|
logo: 'https://i.loli.net/2019/06/06/5cf8c5d94521136430.png',
|
|
volume: 0.2,
|
|
mutex: true,
|
|
lang: 'zh-cn',
|
|
video: {
|
|
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
|
|
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
|
|
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg',
|
|
type: 'auto'
|
|
},
|
|
subtitle: {
|
|
url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.vtt',
|
|
type: 'webvtt',
|
|
fontSize: '25px',
|
|
bottom: '10%',
|
|
color: '#b7daff'
|
|
},
|
|
danmaku: {
|
|
id: '9E2E3368B56CDBB4',
|
|
api: 'https://api.prprpr.me/dplayer/',
|
|
addition: ['https://s-sh-17-dplayercdn.oss.dogecdn.com/1678963.json'],
|
|
token: 'tokendemo',
|
|
maximum: 3000,
|
|
user: 'DIYgod',
|
|
bottom: '15%',
|
|
unlimited: true,
|
|
speedRate: 0.5,
|
|
},
|
|
contextmenu: [
|
|
{
|
|
text: 'custom contextmenu',
|
|
link: 'https://github.com/MoePlayer/DPlayer'
|
|
}
|
|
]
|
|
});
|
|
|
|
const events = [
|
|
'abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'ended', 'error',
|
|
'loadeddata', 'loadedmetadata', 'loadstart', 'mozaudioavailable', 'pause', 'play',
|
|
'playing', 'ratechange', 'seeked', 'seeking', 'stalled',
|
|
'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', 'webfullscreen', 'webfullscreen_cancel',
|
|
'subtitle_show', 'subtitle_hide', 'subtitle_change'
|
|
];
|
|
const eventsEle = document.getElementById('events');
|
|
for (let i = 0; i < events.length; i++) {
|
|
dp2.on(events[i], (info) => {
|
|
eventsEle.innerHTML += `<p>Event: ${events[i]} ${info?`Data: <span>${JSON.stringify(info)}</span>`:''}</p>`;
|
|
eventsEle.scrollTop = eventsEle.scrollHeight;
|
|
});
|
|
}
|
|
|
|
// dp3
|
|
// window.dp3 = new DPlayer({
|
|
// container: document.getElementById('dplayer3'),
|
|
// preload: 'none',
|
|
// video: {
|
|
// quality: [{
|
|
// name: 'HD',
|
|
// url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.m3u8',
|
|
// type: 'hls'
|
|
// }, {
|
|
// name: 'SD',
|
|
// url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
|
|
// type: 'normal'
|
|
// }],
|
|
// defaultQuality: 0,
|
|
// pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png'
|
|
// }
|
|
// });
|
|
|
|
// // dp4
|
|
// window.dp4 = new DPlayer({
|
|
// container: document.getElementById('dplayer4'),
|
|
// preload: 'none',
|
|
// video: {
|
|
// url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.m3u8',
|
|
// type: 'hls'
|
|
// }
|
|
// });
|
|
|
|
// // dp5
|
|
// window.dp5 = new DPlayer({
|
|
// container: document.getElementById('dplayer5'),
|
|
// preload: 'none',
|
|
// video: {
|
|
// url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.flv',
|
|
// type: 'flv'
|
|
// }
|
|
// });
|
|
|
|
// window.dp8 = new DPlayer({
|
|
// container: document.getElementById('dplayer8'),
|
|
// preload: 'none',
|
|
// video: {
|
|
// url: 'https://moeplayer.b0.upaiyun.com/dplayer/dash/hikarunara.mpd',
|
|
// type: 'dash'
|
|
// }
|
|
// });
|
|
|
|
// window.dp9 = new DPlayer({
|
|
// container: document.getElementById('dplayer9'),
|
|
// video: {
|
|
// url: 'magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent',
|
|
// type: 'webtorrent'
|
|
// }
|
|
// });
|
|
|
|
// window.dp6 = new DPlayer({
|
|
// container: document.getElementById('dplayer6'),
|
|
// preload: 'none',
|
|
// live: true,
|
|
// danmaku: true,
|
|
// apiBackend: {
|
|
// read: function (endpoint, callback) {
|
|
// console.log('假装 WebSocket 连接成功');
|
|
// callback();
|
|
// },
|
|
// send: function (endpoint, danmakuData, callback) {
|
|
// console.log('假装通过 WebSocket 发送数据', danmakuData);
|
|
// callback();
|
|
// }
|
|
// },
|
|
// video: {
|
|
// url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.m3u8',
|
|
// type: 'hls'
|
|
// }
|
|
// });
|
|
|
|
// window.dp10 = new DPlayer({
|
|
// container: document.getElementById('dplayer10'),
|
|
// video: {
|
|
// url: 'https://qq.webrtc.win/tv/Pear-Demo-Yosemite_National_Park.mp4',
|
|
// type: 'pearplayer',
|
|
// customType: {
|
|
// 'pearplayer': function (video, player) {
|
|
// new PearPlayer(video, {
|
|
// src: video.src,
|
|
// autoplay: player.options.autoplay
|
|
// });
|
|
// }
|
|
// }
|
|
// }
|
|
// });
|
|
}
|
|
|
|
function clearPlayers() {
|
|
for (let i = 0; i < 6; i++) {
|
|
window['dp' + (i + 1)].pause();
|
|
document.getElementById('dplayer' + (i + 1)).innerHTML = '';
|
|
}
|
|
}
|
|
|
|
function switchDPlayer() {
|
|
if (dp2.options.danmaku.id !== '5rGf5Y2X55qu6Z2p') {
|
|
dp2.switchVideo({
|
|
url: 'http://static.smartisanos.cn/common/video/t1-ui.mp4',
|
|
pic: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg',
|
|
type: 'auto',
|
|
}, {
|
|
id: '5rGf5Y2X55qu6Z2p',
|
|
api: 'https://api.prprpr.me/dplayer/',
|
|
maximum: 3000,
|
|
user: 'DIYgod'
|
|
});
|
|
} else {
|
|
dp2.switchVideo({
|
|
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
|
|
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
|
|
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg',
|
|
type: 'auto'
|
|
}, {
|
|
id: '9E2E3368B56CDBB42',
|
|
api: 'https://api.prprpr.me/dplayer/',
|
|
maximum: 3000,
|
|
user: 'DIYgod'
|
|
});
|
|
}
|
|
} |