Safari의 MediaStream이 리소스를 올바르게 릴리스하지 못함
P粉106715703
2023-08-30 17:23:15
<p>녹음에 AudioWorkletNode 메서드를 사용하고 있는데 모든 브라우저에서 제대로 녹음되는 것 같습니다. </p>
<p>녹화를 하면 탭에 녹음 아이콘이 나타났다가 녹음이 끝나면 사라집니다. </p>
<p> 그러나 Safari에서는 마이크 아이콘 대신 작은 스피커 아이콘(일반적으로 탭에서 소리가 나고 있음을 나타냄)이 탭에 나타납니다. </p>
<p>그래서 제가 뭔가를 닫지 않은 것 같아요. </p>
<p>녹화가 완료된 후 다음을 수행하겠습니다.</p>
<pre class="brush:php;toolbar:false;">//stream은 MediaStream 유형입니다.
만약(스트림)
stream.getTracks().forEach(track => track.stop());
스트림 = null</pre>
<p>스트림은 다음을 통해 생성됩니다. </p>
<pre class="brush:php;toolbar:false;">stream = navigator.mediaDevices.getUserMedia({를 기다립니다.
오디오: 옵션
});</pre>
<p>모든 리소스를 해제하는 데 필요한 다른 것이 있습니까? </p>
모든 것을 끄려면 아래 방법이 효과적인 것 같습니다. Safari가 아직 무엇을 보유하고 있는지 알려주는 방법을 알 수 없었기 때문에 시행착오를 통해 이것을 발견했습니다.
으아악