MediaStream dalam Safari gagal mengeluarkan sumber dengan betul
P粉106715703
2023-08-30 17:23:15
<p>Saya menggunakan kaedah AudioWorkletNode untuk merakam dan semua penyemak imbas nampaknya sedang merakam dengan baik. </p>
<p>Apabila saya merakam, ikon rakaman muncul pada tab dan hilang apabila rakaman tamat. </p>
<p> Walau bagaimanapun, dalam Safari, ikon pembesar suara kecil (biasanya menunjukkan bahawa tab mengeluarkan bunyi) akan muncul pada tab dan bukannya ikon mikrofon. </p>
<p>Jadi saya rasa saya mungkin tidak menutup sesuatu. </p>
<p>Selepas rakaman selesai saya akan melakukan perkara berikut:</p>
<pre class="brush:php;toolbar:false;">// strim ialah jenis MediaStream
jika(strim)
stream.getTracks().forEach(track => track.stop());
strim = null</pra>
<p>Strim dibuat melalui: </p>
<pre class="brush:php;toolbar:false;">stream = tunggu navigator.mediaDevices.getUserMedia({
audio: pilihan
});</pre>
<p>Adakah terdapat apa-apa lagi yang diperlukan untuk mengeluarkan semua sumber? </p>
Untuk mematikan semuanya, kaedah di bawah nampaknya berkesan. Saya baru sahaja menemui ini melalui percubaan dan kesilapan kerana saya tidak dapat mengetahui cara untuk mendapatkan Safari memberitahu saya perkara yang masih ada: