[IN TESTING] attempt to fix #106

This commit is contained in:
ashley 2024-07-26 21:37:58 +00:00
parent 8054805054
commit 0b48788174

View file

@ -982,6 +982,46 @@ function cstsRemaining(totalTimeInSeconds, elapsedTimeInSeconds) {
aud.addEventListener("canplaythrough", shouldPlay);
vid.addEventListener("canplaythrough", shouldPlay);
})
</script>
<script>
const audioContext = new (window.AudioContext || window.webkitAudioContext)();
const source = audioContext.createMediaElementSource(aud);
const analyser = audioContext.createAnalyser();
source.connect(analyser);
analyser.connect(audioContext.destination);
function getQueryParam(name) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(name);
}
// Check the quality parameter
const quality = getQueryParam('qua');
// Function to check if audio is playing
function checkAudio() {
if (video.ended || video.paused || quality === 'medium') return;
// Check if the audio volume is greater than 0
if (aud.volume === 0) return;
const bufferLength = analyser.fftSize;
const dataArray = new Uint8Array(bufferLength);
analyser.getByteFrequencyData(dataArray);
// Check if there's any significant audio data
const isAudioPlaying = dataArray.some(value => value > 0);
if (!isAudioPlaying) {
// Play/pause workaround to reset audio
aud.pause();
aud.play();
}
}
// Check audio every second
setInterval(checkAudio, 1000);
</script>
<% if(shortsui) { %>
<script>