mirror of
https://codeberg.org/ashley/poke.git
synced 2024-11-26 22:58:16 +01:00
[IN TESTING] attempt to fix #106
This commit is contained in:
parent
769a6dea2d
commit
e71322bf0d
1 changed files with 60 additions and 35 deletions
|
@ -984,13 +984,35 @@ function cstsRemaining(totalTimeInSeconds, elapsedTimeInSeconds) {
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
const audioContext = new (window.AudioContext || window.webkitAudioContext)();
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
const source = audioContext.createMediaElementSource(aud);
|
const audio = document.getElementById('aud');
|
||||||
const analyser = audioContext.createAnalyser();
|
|
||||||
|
|
||||||
|
if (!video || !audio) {
|
||||||
|
console.error("Video or audio element not found!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Checks if the browser supports AudioContext
|
||||||
|
if (!window.AudioContext && !window.webkitAudioContext) {
|
||||||
|
console.error("Web Audio API not supported in this browser.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const audioContext = new (window.AudioContext || window.webkitAudioContext)();
|
||||||
|
let source;
|
||||||
|
|
||||||
|
try {
|
||||||
|
source = audioContext.createMediaElementSource(audio);
|
||||||
|
} catch (e) {
|
||||||
|
console.error("Error creating media element source:", e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const analyser = audioContext.createAnalyser();
|
||||||
source.connect(analyser);
|
source.connect(analyser);
|
||||||
analyser.connect(audioContext.destination);
|
analyser.connect(audioContext.destination);
|
||||||
|
|
||||||
|
// Function to get query parameter from URL
|
||||||
function getQueryParam(name) {
|
function getQueryParam(name) {
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
return urlParams.get(name);
|
return urlParams.get(name);
|
||||||
|
@ -1001,10 +1023,11 @@ const quality = getQueryParam('qua');
|
||||||
|
|
||||||
// Function to check if audio is playing
|
// Function to check if audio is playing
|
||||||
function checkAudio() {
|
function checkAudio() {
|
||||||
|
// Check if the video has ended, is paused, or has medium quality
|
||||||
if (video.ended || video.paused || quality === 'medium') return;
|
if (video.ended || video.paused || quality === 'medium') return;
|
||||||
|
|
||||||
// Check if the audio volume is greater than 0
|
// Check if the audio volume is greater than 0
|
||||||
if (aud.volume === 0) return;
|
if (audio.volume === 0) return;
|
||||||
|
|
||||||
const bufferLength = analyser.fftSize;
|
const bufferLength = analyser.fftSize;
|
||||||
const dataArray = new Uint8Array(bufferLength);
|
const dataArray = new Uint8Array(bufferLength);
|
||||||
|
@ -1015,13 +1038,15 @@ function checkAudio() {
|
||||||
|
|
||||||
if (!isAudioPlaying) {
|
if (!isAudioPlaying) {
|
||||||
// Play/pause workaround to reset audio
|
// Play/pause workaround to reset audio
|
||||||
aud.pause();
|
audio.pause();
|
||||||
aud.play();
|
audio.play();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check audio every second
|
// Check audio every second
|
||||||
setInterval(checkAudio, 1000);
|
setInterval(checkAudio, 1000);
|
||||||
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<% if(shortsui) { %>
|
<% if(shortsui) { %>
|
||||||
<script>
|
<script>
|
||||||
|
|
Loading…
Reference in a new issue