Corps Zolea 6 lat temu
rodzic
commit
ee9c4bf99d
1 zmienionych plików z 5 dodań i 4 usunięć
  1. 5 4
      src/js/player.js

+ 5 - 4
src/js/player.js

@@ -33,7 +33,7 @@ class DPlayer {
      * @constructor
      */
     constructor (options) {
-        this.options = handleOption(options);
+        this.options = handleOption({preload:options.video.type === 'webtorrent' ? 'none' : 'metadata', ...options});
 
         if (this.options.video.quality) {
             this.qualityIndex = this.options.video.defaultQuality;
@@ -404,12 +404,13 @@ class DPlayer {
                         this.container.classList.add('dplayer-loading');
                         const client = new WebTorrent();
                         const torrentId = video.src;
+                        video.src = '';
+                        video.preload = 'metadata';
+                        video.addEventListener('durationchange', () => this.container.classList.remove('dplayer-loading'), {once: true});
                         client.add(torrentId, (torrent) => {
                             const file = torrent.files.find((file) => file.name.endsWith('.mp4'));
                             file.renderTo(this.video, {
                                 autoplay: this.options.autoplay
-                            }, () => {
-                                this.container.classList.remove('dplayer-loading');
                             });
                         });
                         this.events.on('destroy', () => {
@@ -455,7 +456,7 @@ class DPlayer {
                 // Not a video load error, may be poster load failed, see #307
                 return;
             }
-            this.tran && this.notice && this.type !== 'webtorrent' & this.notice(this.tran('Video load failed'), -1);
+            this.tran && this.notice && this.type !== 'webtorrent' && this.notice(this.tran('Video load failed'), -1);
         });
 
         // video end