浏览代码

Fixes early initial pause event, may lead to player keep buffering without starting.

j8
damencho 9 年前
父节点
当前提交
9efebc3702
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11
    1
      modules/UI/shared_video/SharedVideo.js

+ 11
- 1
modules/UI/shared_video/SharedVideo.js 查看文件

96
                 });
96
                 });
97
             };
97
             };
98
 
98
 
99
+        // whether we should pause the player as initial status
100
+        // sometimes if we try to pause the player before it starts playing
101
+        // we can end up with player in buffering mode
102
+        this.initialPause = false;
99
         window.onPlayerStateChange = function(event) {
103
         window.onPlayerStateChange = function(event) {
100
             if (event.data == YT.PlayerState.PLAYING) {
104
             if (event.data == YT.PlayerState.PLAYING) {
101
                 self.playerPaused = false;
105
                 self.playerPaused = false;
106
+
107
+                // check for initial pause
108
+                if(self.initialPause) {
109
+                    self.initialPause = false;
110
+                    self.player.pauseVideo();
111
+                }
102
                 self.updateCheck();
112
                 self.updateCheck();
103
             } else if (event.data == YT.PlayerState.PAUSED) {
113
             } else if (event.data == YT.PlayerState.PAUSED) {
104
                 self.playerPaused = true;
114
                 self.playerPaused = true;
134
 
144
 
135
             // set initial state of the player if there is enough information
145
             // set initial state of the player if there is enough information
136
             if(attributes.state === 'pause')
146
             if(attributes.state === 'pause')
137
-                player.pauseVideo();
147
+                self.initialPause = true;
138
             else if(attributes.time > 0) {
148
             else if(attributes.time > 0) {
139
                 console.log("Player seekTo:", attributes.time);
149
                 console.log("Player seekTo:", attributes.time);
140
                 player.seekTo(attributes.time);
150
                 player.seekTo(attributes.time);

正在加载...
取消
保存