123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- // 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'
- });
- }
- }
|