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 タイプです
if(ストリーム)
stream.getTracks().forEach(track => track.stop());
ストリーム = null</pre>
<p>ストリームは次の方法で作成されます: </p>
<pre class="brush:php;toolbar:false;">stream = await navigator.mediaDevices.getUserMedia({
オーディオ:オプション
});</pre>
<p>すべてのリソースを解放するために他に何か必要なものはありますか? </p>
すべてをオフにするには、次の方法が機能するようです。 Safari にまだ保持されている内容を教えてもらう方法がわからなかったため、試行錯誤の末にこれを見つけました。 リーリー