P粉5369091862023-08-31 10:10:19
要關閉所有東西,以下的方法似乎有效。我只是透過試誤找到了這個方法,因為我無法弄清楚如何讓Safari告訴我它仍然持有什麼:
// stream : MediaStream // sourceNode : MediaStreamAudioSourceNode // recorderNode : AudioWorkletNode const tracks = stream.getTracks(); tracks.forEach((track) => { track.stop(); stream.removeTrack(track) }); stream = null sourceNode.disconnect(); sourceNode = undefined recorderNode.disconnect(); recorderNode = undefined