JSFiddle - React, Tailwind, and code Playground
HTML
フィードバックのあるオーディオグラフを Panner に接続すると Safai が死ぬ
<div>
<button id="test">test</button>
</div>
JavaScript
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
document.getElementById("test").onclick = function() {
var t0 = audioContext.currentTime;
var t1 = t0 + 0.5;
var osc = audioContext.createOscillator();
var amp = audioContext.createGain();
var delay = audioContext.createDelay();
var feedback = audioContext.createGain();
var pan = audioContext.createPanner();
// panner でなければ大丈夫
// pan = audioContext.createGain();
osc.start(t0);
osc.stop(t1);
osc.connect(amp);
amp.gain.setValueAtTime(1, t0);
amp.gain.linearRampToValueAtTime(0, t1);
amp.connect(delay);
delay.delayTime.value = 0.25;
delay.connect(feedback);
delay.connect(pan);
feedback.gain.value = 0.8;
feedback.connect(delay);
pan.connect(audioContext.destination);
};