Working version of duck on iOS safari

This commit is contained in:
Aria
2025-08-19 09:12:29 -05:00
committed by Switch Angel AKA Jade Rose
parent 8c97f2e2d0
commit 64f7bc4442
+7
View File
@@ -211,7 +211,14 @@ export function getVibratoOscillator(param, value, t) {
export function webAudioTimeout(audioContext, onComplete, startTime, stopTime) {
const constantNode = new ConstantSourceNode(audioContext);
// Safari requires audio nodes to be connected in order for their onended events
// to fire, so we _mute it_ and then connect it to the destination
const zeroGain = gainNode(0);
zeroGain.connect(audioContext.destination);
constantNode.connect(zeroGain);
constantNode.start(startTime);
// Schedule the `onComplete` callback to occur at `stopTime`
constantNode.stop(stopTime);
constantNode.onended = () => {
onComplete();