MediaStream dans Safari ne parvient pas à libérer correctement les ressources
P粉106715703
2023-08-30 17:23:15
<p>J'utilise la méthode AudioWorkletNode pour enregistrer et tous les navigateurs semblent enregistrer correctement. </p>
<p>Lorsque j'enregistre, l'icône d'enregistrement apparaît sur l'onglet et disparaît à la fin de l'enregistrement. </p>
<p> Cependant, dans Safari, une petite icône de haut-parleur (indiquant généralement que l'onglet émet du son) apparaîtra sur l'onglet à la place de l'icône du microphone. </p>
<p>Je pense donc que je n’ai peut-être pas fermé quelque chose. </p>
<p>Une fois l'enregistrement terminé, je ferai ce qui suit :</p>
<pre class="brush:php;toolbar:false;">// le flux est un type MediaStream
si (flux)
stream.getTracks().forEach(track => track.stop());
flux = null</pre>
<p>Le flux est créé via : </p>
<pre class="brush:php;toolbar:false;">stream = wait navigator.mediaDevices.getUserMedia({
audio : options
});</pré>
<p>Y a-t-il autre chose à faire pour libérer toutes les ressources ? </p>
Pour tout désactiver, la méthode ci-dessous semble fonctionner. Je viens de trouver ceci par essais et erreurs parce que je n'arrivais pas à comprendre comment faire en sorte que Safari me dise ce qu'il contient encore :