Commit bc938d2b authored by Skye Yu's avatar Skye Yu

Merge branch 'cherry-pick-794796dd' into 'master'

use wake lock and setInterval

See merge request !2
parents 84a7413d b9114939
......@@ -705,6 +705,7 @@ Jensen.prototype.getFile = async function (filename, length, ondata, onprogress)
for (let i = 0; i < filename.length; i++) fname.push(filename.charCodeAt(i));
let wakeLock = null;
let timer = null;
async function visibilitychange() {
let audio = document.getElementById('test_audio');
if (!audio) {
......@@ -720,6 +721,17 @@ Jensen.prototype.getFile = async function (filename, length, ondata, onprogress)
if (document.visibilityState === 'hidden') {
console.log('Page is hidden');
audio.play();
timer = setInterval(() => {
console.log("Keeping the page alive...");
}, 1000)
} else {
audio.pause();
console.log('Page is visible');
wakeLock && wakeLock.release();
timer && clearInterval(timer)
}
}
if ('wakeLock' in navigator) {
try {
wakeLock = await navigator.wakeLock.request('screen');
......@@ -728,17 +740,12 @@ Jensen.prototype.getFile = async function (filename, length, ondata, onprogress)
console.error('Failed to acquire wake lock:', err);
}
}
} else {
audio.pause();
console.log('Page is visible');
wakeLock && wakeLock.release();
}
}
function removeAudio() {
const audio = document.getElementById('test_audio');
audio && audio.pause() && audio.remove();
wakeLock && wakeLock.release();
timer && clearInterval(timer)
}
visibilitychange();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment