Update snapweb

This commit is contained in:
badaix 2023-01-30 20:39:55 +01:00
parent e03bf7059d
commit 97e84f31f6
2 changed files with 20 additions and 28 deletions

View file

@ -539,7 +539,7 @@ class SnapControl {
status_req_id; status_req_id;
} }
let snapcontrol; let snapcontrol;
let snapstream = new SnapStream(config.baseUrl); let snapstream = null;
let hide_offline = true; let hide_offline = true;
let autoplay_done = false; let autoplay_done = false;
let audio = document.createElement('audio'); let audio = document.createElement('audio');
@ -551,7 +551,7 @@ function show() {
const versionElem = document.getElementsByTagName("meta").namedItem("version"); const versionElem = document.getElementsByTagName("meta").namedItem("version");
console.log("Snapweb version " + (versionElem ? versionElem.content : "null")); console.log("Snapweb version " + (versionElem ? versionElem.content : "null"));
let play_img; let play_img;
if (isPlaying()) { if (snapstream) {
play_img = 'stop.png'; play_img = 'stop.png';
} }
else { else {
@ -702,12 +702,7 @@ function show() {
document.getElementById('show').innerHTML = content; document.getElementById('show').innerHTML = content;
let playElem = document.getElementById('play-button'); let playElem = document.getElementById('play-button');
playElem.onclick = () => { playElem.onclick = () => {
if (isPlaying()) {
stop();
}
else {
play(); play();
}
}; };
for (let group of snapcontrol.server.groups) { for (let group of snapcontrol.server.groups) {
if (group.clients.length > 1) { if (group.clients.length > 1) {
@ -780,18 +775,17 @@ function setVolume(id, mute) {
if (needs_update) if (needs_update)
show(); show();
} }
function isPlaying() { function play() {
return document.getElementsByTagName("audio").length > 0; if (snapstream) {
}
function stop() {
snapstream.stop(); snapstream.stop();
snapstream = null;
audio.pause(); audio.pause();
audio.src = ""; audio.src = '';
document.body.removeChild(audio); document.body.removeChild(audio);
} }
function play() { else {
snapstream = new SnapStream(config.baseUrl);
// User interacted with the page. Let's play audio... // User interacted with the page. Let's play audio...
snapstream.resume();
document.body.appendChild(audio); document.body.appendChild(audio);
audio.src = "10-seconds-of-silence.mp3"; audio.src = "10-seconds-of-silence.mp3";
audio.loop = true; audio.loop = true;
@ -799,6 +793,7 @@ function play() {
snapcontrol.updateProperties(snapcontrol.getMyStreamId()); snapcontrol.updateProperties(snapcontrol.getMyStreamId());
}); });
} }
}
function setMuteGroup(id, mute) { function setMuteGroup(id, mute) {
snapcontrol.muteGroup(id, mute); snapcontrol.muteGroup(id, mute);
show(); show();

View file

@ -712,9 +712,6 @@ class SnapStream {
alert("Sorry, but the Web Audio API is not supported by your browser"); alert("Sorry, but the Web Audio API is not supported by your browser");
} }
} }
resume() {
this.ctx.resume();
}
setupAudioContext() { setupAudioContext() {
let AudioContext = window.AudioContext // Default let AudioContext = window.AudioContext // Default
|| window.webkitAudioContext // Safari and old versions of Chrome || window.webkitAudioContext // Safari and old versions of Chrome