Fixed issues with embedded player

This commit is contained in:
Kasper Rynning-Tønnesen
2018-05-04 17:15:04 +02:00
parent 3c87a148e1
commit fc7966a008
9 changed files with 84 additions and 89 deletions

View File

@@ -169,7 +169,7 @@ var Channel = {
Playercontrols.initSlider();
if(player_ready) {
Player.player.setVolume(Crypt.get_volume());
SC.Widget(Player.soundcloud_player).setVolume(Crypt.get_volume());
Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100);
}
Helper.removeClass(".video-container", "no-opacity");
var codeURL = "https://remote."+window.location.hostname+"/"+id;

View File

@@ -8,6 +8,9 @@ var startTime = 0;
var socket_connected = false;
var dynamicListeners = {};
var player_ready = false;
var empty_clear = false;
var fix_too_far = false;
var beginning = false;
var soundcloud_loading = false;
var firstLoad = "";
var list_html = document.getElementById("list-song-html").innerHTML;

View File

@@ -84,7 +84,7 @@ function hide_native(way) {
Helper.setHtml("#chromecast_text", "Playing on<br>" + castSession.La.friendlyName);
}
Player.player.setVolume(100);
SC.Widget(Player.soundcloud_player).setVolume(100);
Player.soundcloud_player.setVolume(1);
Helper.toggleClass("#player_overlay_text", "hide");
} else if(way == 0){
@@ -109,7 +109,7 @@ function hide_native(way) {
if(!Helper.mobilecheck()){
Player.player.setVolume(Crypt.get_volume());
Playercontrols.visualVolume(Crypt.get_volume());
SC.Widget(Player.soundcloud_player).setVolume(Crypt.get_volume());
Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100);
}
Helper.addClass("#player_overlay", "hide");
Helper.toggleClass("#player_overlay_text", "hide");

View File

@@ -38,7 +38,7 @@ var Hostcontroller = {
if(arr.type == "volume") {
Playercontrols.visualVolume(arr.value);
Player.setVolume(arr.value);
SC.Widget(Player.soundcloud_player).setVolume(arr.value);
Player.soundcloud_player.setVolume(arr.value / 100);
localStorage.setItem("volume", arr.value);
Playercontrols.choose_button(arr.value, false);
} else if(arr.type == "channel") {

View File

@@ -199,42 +199,20 @@ window.addEventListener("DOMContentLoaded", function() {
tag.onload = function() {
console.log("loaded script")
if(document.querySelectorAll("script[src='https://w.soundcloud.com/player/api.js']").length == 1) {
SC.Widget(Player.soundcloud_player);
} else {
tagS = document.createElement('script');
tagS.src = "https://w.soundcloud.com/player/api.js";
tagSearch = document.createElement('script');
tagSearch.setAttribute("async", true);
tagSearch.src = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js";
firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tagS, firstScriptTag);
tagS.setAttribute("async", true);
firstScriptTag.parentNode.insertBefore(tagSearch, firstScriptTag);
tagS.onload = function() {
if(firstLoad == "") {
firstLoad = "widget";
SC = SC;
}
tagSearch = document.createElement('script');
tagSearch.setAttribute("async", true);
tagSearch.src = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js";
firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tagSearch, firstScriptTag);
tagSearch.onload = function() {
if(firstLoad == "") {
firstLoad = "search";
_SC2 = SC;
} else {
_SC2 = SC;
SC = SC;
SC = _SC2;
}
console.log("loaded1")
window.SC = SC;
SC.initialize({
client_id: 'ed53fc01f248f15becddf8eb52cc91ef'
});
}
tagSearch.onload = function() {
SC.initialize({
client_id: 'ed53fc01f248f15becddf8eb52cc91ef'
}, function() {
console.log("Loaded streamer");
});
}
}
}

View File

@@ -7,7 +7,9 @@ var Player = {
stopInterval: false,
fireplace: "",
np: {},
soundcloud_player: undefined,
soundcloud_player: {
setVolume: function(val) {}
},
youtube_listener: function(obj) {
if(obj.np != undefined) {
@@ -64,7 +66,7 @@ var Player = {
// Play video/autoplay video
if(obj.np != undefined) {
Player.getTitle(song_title, viewers);
if(((embed && autplay) || !embed ) && !offline && !was_stopped) {
if(((embed && autoplay) || !embed ) && !offline && !was_stopped) {
console.log("loadVideoById \nwas_stopped=",was_stopped,"\noffline=",offline)
Player.loadVideoById(Player.np.id, duration, Player.np.start, Player.np.end);
} else {
@@ -253,7 +255,7 @@ var Player = {
Player.stopVideo();
if(_autoplay) was_stopped = false;
Helper.removeClass(document.getElementById("player_overlay"), "hide");
document.getElementById("player_overlay_text").innerText = "Loading SoundCloud";
//document.getElementById("player_overlay_text").innerText = "Loading SoundCloud";
Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d");
//if(Player.soundcloud_player) {
@@ -263,11 +265,11 @@ var Player = {
/*SC.Widget(Player.soundcloud_player).seekTo((seekTo) * 1000);
SC.Widget(Player.soundcloud_player).setVolume(embed ? 100 : Crypt.get_volume());*/
soundcloud_loading = false;
if(_autoplay) {
/*SC.Widget(Player.soundcloud_player).isPaused(function(paused) {
if(paused) SC.Widget(Player.soundcloud_player).play();
});*/
}
//Player.soundcloud_player.listenTo("/tracks/" + id);
/*SC.Widget(Player.soundcloud_player).getCurrentSound(function(sound) {
Helper.removeClass(".soundcloud_info_container", "hide");
@@ -301,23 +303,25 @@ var Player = {
Player.soundcloud_player.bind("pause", Player.soundcloudPause);
Player.soundcloud_player.bind("play", Player.soundcloudPlay);
window.player = player;
player.play().then(function(){
console.log(id);
SC.get('/tracks', {
ids: id
}).then(function(tracks) {
var sound = tracks[0];
Helper.removeClass(".soundcloud_info_container", "hide");
document.querySelector("#soundcloud_listen_link").href = sound.permalink_url;
document.querySelector(".soundcloud_info_container .green").href = sound.purchase_url;
document.querySelector(".soundcloud_info_container .red").href = sound.user.permalink_url;
});
Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100);
Player.soundcloud_player.seek((seekTo) * 1000);
console.log('Playback started!');
}).catch(function(e){
console.error('Playback rejected. Try calling play() from a user interaction.', e);
SC.get('/tracks', {
ids: id
}).then(function(tracks) {
var sound = tracks[0];
Helper.removeClass(".soundcloud_info_container", "hide");
document.querySelector("#soundcloud_listen_link").href = sound.permalink_url;
document.querySelector(".soundcloud_info_container .green").href = sound.purchase_url;
document.querySelector(".soundcloud_info_container .red").href = sound.user.permalink_url;
});
if(_autoplay) {
player.play().then(function(){
console.log(id);
Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100);
Player.soundcloud_player.seek((seekTo) * 1000);
console.log('Playback started!');
}).catch(function(e){
console.error('Playback rejected. Try calling play() from a user interaction.', e);
});
}
});
soundcloud_loading = true;
/*SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.FINISH, Player.soundcloudFinish);
@@ -972,12 +976,6 @@ var Player = {
//SC.Widget(Player.soundcloud_player);
//SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.READY, Player.soundcloudReady);
} else {
tagS = document.createElement('script');
tagS.src = "https://w.soundcloud.com/player/api.js";
firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tagS, firstScriptTag);
tagS.setAttribute("async", true);
tagSearch = document.createElement('script');
tagSearch.setAttribute("async", true);

View File

@@ -193,13 +193,11 @@ var Playercontrols = {
console.log("play pause here");
if(!chromecastAvailable){
if(videoSource == "soundcloud") {
SC.Widget(Player.soundcloud_player).isPaused(function(paused) {
if(paused) {
Player.playVideo();
} else {
Player.pauseVideo();
}
});
if(!Player.soundcloud_player.isPlaying()) {
Player.playVideo();
} else {
Player.pauseVideo();
}
} else {
if(Player.player.getPlayerState() == YT.PlayerState.PLAYING)
{
@@ -278,7 +276,7 @@ var Playercontrols = {
setVolume: function(vol) {
Player.setVolume(vol);
SC.Widget(Player.soundcloud_player).setVolume(vol);
Player.soundcloud_player.setVolume(vol / 1000);
Playercontrols.choose_button(vol, false);
if(Player.player.isMuted())
Player.player.unMute();
@@ -362,18 +360,15 @@ var Playercontrols = {
console.log("playpause", videoSource);
if(videoSource == "soundcloud") {
console.log("hello");
SC.Widget(Player.soundcloud_player).isPaused(function(paused) {
console.log(paused);
if(paused) {
Helper.addClass("#play", "hide");
Helper.removeClass("#pause", "hide");
SC.Widget(Player.soundcloud_player).play();
} else {
Helper.removeClass("#play", "hide");
Helper.addClass("#pause", "hide");
SC.Widget(Player.soundcloud_player).pause();
}
})
if(!Player.soundcloud_player.isPlaying()) {
Helper.addClass("#play", "hide");
Helper.removeClass("#pause", "hide");
Player.soundcloud_player.play();
} else {
Helper.removeClass("#play", "hide");
Helper.addClass("#pause", "hide");
Player.soundcloud_player.pause();
}
} else {
state = Player.player.getPlayerState();
button = document.getElementById("playpause");