瀏覽代碼

Follow seeking while player is paused.

j8
damencho 9 年之前
父節點
當前提交
7dad981112
共有 1 個文件被更改,包括 26 次插入3 次删除
  1. 26
    3
      modules/UI/shared_video/SharedVideo.js

+ 26
- 3
modules/UI/shared_video/SharedVideo.js 查看文件

98
             window.onYouTubeIframeAPIReady = function() {
98
             window.onYouTubeIframeAPIReady = function() {
99
                 self.isPlayerAPILoaded = true;
99
                 self.isPlayerAPILoaded = true;
100
                 let showControls = APP.conference.isLocalId(self.from) ? 1 : 0;
100
                 let showControls = APP.conference.isLocalId(self.from) ? 1 : 0;
101
-                new YT.Player('sharedVideoIFrame', {
101
+                let p = new YT.Player('sharedVideoIFrame', {
102
                     height: '100%',
102
                     height: '100%',
103
                     width: '100%',
103
                     width: '100%',
104
                     videoId: self.url,
104
                     videoId: self.url,
114
                         'onStateChange': onPlayerStateChange,
114
                         'onStateChange': onPlayerStateChange,
115
                         'onError': onPlayerError
115
                         'onError': onPlayerError
116
                     }
116
                     }
117
-                }).addEventListener(// add listener for volume changes
117
+                });
118
+
119
+                // add listener for volume changes
120
+                p.addEventListener(
118
                     "onVolumeChange", "onVolumeChange");
121
                     "onVolumeChange", "onVolumeChange");
122
+
123
+                if (APP.conference.isLocalId(self.from)){
124
+                    // adds progress listener that will be firing events
125
+                    // while we are paused and we change the progress of the
126
+                    // video (seeking forward or backward on the video)
127
+                    p.addEventListener(
128
+                        "onVideoProgress", "onVideoProgress");
129
+                }
119
             };
130
             };
120
 
131
 
121
         window.onPlayerStateChange = function(event) {
132
         window.onPlayerStateChange = function(event) {
138
             }
149
             }
139
         };
150
         };
140
 
151
 
152
+        /**
153
+         * Track player progress while paused.
154
+         * @param event
155
+         */
156
+        window.onVideoProgress = function (event) {
157
+            let state = event.target.getPlayerState();
158
+            if (state == YT.PlayerState.PAUSED) {
159
+                self.updateCheck(true);
160
+            }
161
+        };
162
+
141
         /**
163
         /**
142
          * Gets notified for volume state changed.
164
          * Gets notified for volume state changed.
143
          * @param event
165
          * @param event
218
             // if its not paused, pause it
240
             // if its not paused, pause it
219
             player.pauseVideo();
241
             player.pauseVideo();
220
 
242
 
221
-            this.processTime(player, attributes, !playerPaused);
243
+            this.processTime(player, attributes, true);
222
         } else if (attributes.state == 'stop') {
244
         } else if (attributes.state == 'stop') {
223
             this.stopSharedVideo(this.from);
245
             this.stopSharedVideo(this.from);
224
         }
246
         }
233
     processTime (player, attributes, forceSeek)
255
     processTime (player, attributes, forceSeek)
234
     {
256
     {
235
         if(forceSeek) {
257
         if(forceSeek) {
258
+            console.info("Player seekTo:", attributes.time);
236
             player.seekTo(attributes.time);
259
             player.seekTo(attributes.time);
237
             return;
260
             return;
238
         }
261
         }

Loading…
取消
儲存