Fixed stuttering on load from soundcloud

This commit is contained in:
Kasper Rynning-Tønnesen
2018-05-03 16:50:27 +02:00
parent 00e4f70c36
commit a095e23db0

View File

@@ -430,6 +430,7 @@ var Player = {
}, },
loadVideoById: function(id, this_duration, start, end){ loadVideoById: function(id, this_duration, start, end){
console.log("load video now");
var s; var s;
var e; var e;
if(start) s = start; if(start) s = start;
@@ -442,29 +443,37 @@ var Player = {
chrome.cast.Image('https://img.youtube.com/vi/'+id+'/mqdefault.jpg'); chrome.cast.Image('https://img.youtube.com/vi/'+id+'/mqdefault.jpg');
} else { } else {
if(videoSource == "soundcloud") { if(videoSource == "soundcloud") {
console.log(Player.soundcloud_player.src.indexOf(id), seekTo);
Player.stopVideo(); Player.stopVideo();
Helper.removeClass(document.getElementById("player_overlay"), "hide"); Helper.removeClass(document.getElementById("player_overlay"), "hide");
Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d");
SC.Widget(Player.soundcloud_player).load(id, { if(Player.soundcloud_player.src.indexOf(id) > -1) {
auto_play: true, console.log("seekto " + seekTo + " start " + start);
buying:false, if(start == undefined) start = 0;
sharing:false, if(seekTo == undefined) seekTo = 0;
download:false, SC.Widget(Player.soundcloud_player).seekTo((start + seekTo) * 1000);
show_user:false, } else {
callback: function() { SC.Widget(Player.soundcloud_player).load(id, {
Player.stopVideo(); auto_play: true,
SC.Widget(Player.soundcloud_player).setVolume(embed ? 100 : Crypt.get_volume()); buying:false,
console.log(start, seekTo); sharing:false,
if(start == undefined) start = 0; download:false,
if(seekTo == undefined) seekTo = 0; show_user:false,
SC.Widget(Player.soundcloud_player).seekTo((start + seekTo) * 1000); callback: function() {
Helper.css(document.getElementById("player_overlay"), "background", "url('" + full_playlist[full_playlist.length - 1].thumbnail + "')"); Player.stopVideo();
Helper.css(document.getElementById("player_overlay"), "background-size", "auto"); SC.Widget(Player.soundcloud_player).setVolume(embed ? 100 : Crypt.get_volume());
Helper.css(document.getElementById("player_overlay"), "background-position", "20%"); console.log(start, seekTo);
Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); if(start == undefined) start = 0;
Helper.addClass("#player_overlay_text", "hide"); if(seekTo == undefined) seekTo = 0;
} SC.Widget(Player.soundcloud_player).seekTo((start + seekTo) * 1000);
}); Helper.css(document.getElementById("player_overlay"), "background", "url('" + full_playlist[full_playlist.length - 1].thumbnail + "')");
Helper.css(document.getElementById("player_overlay"), "background-size", "auto");
Helper.css(document.getElementById("player_overlay"), "background-position", "20%");
Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d");
Helper.addClass("#player_overlay_text", "hide");
}
});
}
//SC.Widget(Player.soundcloud_player).play(); //SC.Widget(Player.soundcloud_player).play();
} else { } else {
//window.player = Player.player; //window.player = Player.player;
@@ -698,6 +707,7 @@ var Player = {
}, },
soundcloudPlay: function() { soundcloudPlay: function() {
console.log("playing");
if(videoSource == "youtube") { if(videoSource == "youtube") {
SC.Widget(Player.soundcloud_player).pause(); SC.Widget(Player.soundcloud_player).pause();
} }
@@ -988,6 +998,8 @@ var Player = {
if(document.querySelectorAll("script[src='https://www.youtube.com/iframe_api']").length == 1){ if(document.querySelectorAll("script[src='https://www.youtube.com/iframe_api']").length == 1){
try{ try{
Player.onYouTubeIframeAPIReady(); Player.onYouTubeIframeAPIReady();
SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.READY, Player.soundcloudReady);
Player.soundcloudReady();
} catch(error){ } catch(error){
console.error("Seems YouTube iFrame script isn't correctly loaded. Please reload the page."); console.error("Seems YouTube iFrame script isn't correctly loaded. Please reload the page.");
} }