0
Webオーディオでは、MediaElementSourceノードをガベージコレクションするトリックはありますか?WebオーディオMediaElementSourceノードがガベージコレクトされていません
MediaElementSourceとOscillatorの2つのノードを追加するページを設定しました。これらの両方を切断すると、直ちにオシレータがガベージコレクションされますが、MediaElementSourceは永続的に保持されます。 (これは、Firefoxのウェブオーディオ開発ツールによるもので、オーディオグラフを視覚化しています。)
Mac(ヨセミテ)のChromeとFirefoxの両方でこれが発生しています。
なぜMediaElementSourceノードが永続的に残っているのですか?ページをリロードしたり、オーディオコンテキストを強制終了したりすることなく、それを取り除く方法はありますか?
<audio src="gam2.mp3" id="audio" controls></audio>
<button onclick="disc()">disconnect</button>
<script>
var actx = new AudioContext()
var audio = document.getElementById("audio")
var stream = actx.createMediaElementSource(audio)
stream.connect(actx.destination)
var sine = actx.createOscillator()
sine.connect(actx.destination)
function disc() {
audio.remove()
stream.disconnect()
sine.disconnect()
}
</script>
私はこれを試しても問題は解決しません。奇妙な、ええ? – suncannon