This commit is contained in:
2025-12-12 17:26:18 +01:00
parent acae8c71fc
commit 740db5ce15
5 changed files with 161 additions and 167 deletions

View File

@@ -1,25 +1,42 @@
(function(){
var hasWebKit = ('webkitAudioContext' in window) && !('chrome' in window)
var context = new webkitAudioContext()
var request = new XMLHttpRequest()
var source
request.open('GET', url, true)
request.responseType = 'arraybuffer'
request.onload = function() {
context.decodeAudioData(request.response, function(response) {
(function loop(){
if (source) {
source.start(0)
setTimeout(loop, source.buffer.duration * 1000 - (source.buffer.duration < 2 ? 0 : 60) )
(function () {
var AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
var request = new XMLHttpRequest();
var source;
var buffer;
request.open("GET", url, true);
request.responseType = "arraybuffer";
request.onload = function () {
context.decodeAudioData(
request.response,
function (response) {
buffer = response;
function playBuffer() {
source = context.createBufferSource();
source.buffer = buffer;
source.connect(context.destination);
source.onended = function () {
playBuffer();
};
source.start(0);
}
else {
setTimeout(loop, 0)
}
source = context.createBufferSource()
source.connect(context.destination)
source.buffer = response
})()
}, function () { console.error('The request failed.') } )
}
request.send()
})()
playBuffer();
},
function (error) {
console.error("Audio decoding failed:", error);
},
);
};
request.onerror = function () {
console.error("Failed to load audio file");
};
request.send();
})();