Follow seeking while player is paused.
This commit is contained in:
parent
bede8feccc
commit
7dad981112
|
@ -98,7 +98,7 @@ export default class SharedVideoManager {
|
||||||
window.onYouTubeIframeAPIReady = function() {
|
window.onYouTubeIframeAPIReady = function() {
|
||||||
self.isPlayerAPILoaded = true;
|
self.isPlayerAPILoaded = true;
|
||||||
let showControls = APP.conference.isLocalId(self.from) ? 1 : 0;
|
let showControls = APP.conference.isLocalId(self.from) ? 1 : 0;
|
||||||
new YT.Player('sharedVideoIFrame', {
|
let p = new YT.Player('sharedVideoIFrame', {
|
||||||
height: '100%',
|
height: '100%',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
videoId: self.url,
|
videoId: self.url,
|
||||||
|
@ -114,8 +114,19 @@ export default class SharedVideoManager {
|
||||||
'onStateChange': onPlayerStateChange,
|
'onStateChange': onPlayerStateChange,
|
||||||
'onError': onPlayerError
|
'onError': onPlayerError
|
||||||
}
|
}
|
||||||
}).addEventListener(// add listener for volume changes
|
});
|
||||||
|
|
||||||
|
// add listener for volume changes
|
||||||
|
p.addEventListener(
|
||||||
"onVolumeChange", "onVolumeChange");
|
"onVolumeChange", "onVolumeChange");
|
||||||
|
|
||||||
|
if (APP.conference.isLocalId(self.from)){
|
||||||
|
// adds progress listener that will be firing events
|
||||||
|
// while we are paused and we change the progress of the
|
||||||
|
// video (seeking forward or backward on the video)
|
||||||
|
p.addEventListener(
|
||||||
|
"onVideoProgress", "onVideoProgress");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
window.onPlayerStateChange = function(event) {
|
window.onPlayerStateChange = function(event) {
|
||||||
|
@ -138,6 +149,17 @@ export default class SharedVideoManager {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Track player progress while paused.
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
window.onVideoProgress = function (event) {
|
||||||
|
let state = event.target.getPlayerState();
|
||||||
|
if (state == YT.PlayerState.PAUSED) {
|
||||||
|
self.updateCheck(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets notified for volume state changed.
|
* Gets notified for volume state changed.
|
||||||
* @param event
|
* @param event
|
||||||
|
@ -218,7 +240,7 @@ export default class SharedVideoManager {
|
||||||
// if its not paused, pause it
|
// if its not paused, pause it
|
||||||
player.pauseVideo();
|
player.pauseVideo();
|
||||||
|
|
||||||
this.processTime(player, attributes, !playerPaused);
|
this.processTime(player, attributes, true);
|
||||||
} else if (attributes.state == 'stop') {
|
} else if (attributes.state == 'stop') {
|
||||||
this.stopSharedVideo(this.from);
|
this.stopSharedVideo(this.from);
|
||||||
}
|
}
|
||||||
|
@ -233,6 +255,7 @@ export default class SharedVideoManager {
|
||||||
processTime (player, attributes, forceSeek)
|
processTime (player, attributes, forceSeek)
|
||||||
{
|
{
|
||||||
if(forceSeek) {
|
if(forceSeek) {
|
||||||
|
console.info("Player seekTo:", attributes.time);
|
||||||
player.seekTo(attributes.time);
|
player.seekTo(attributes.time);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue