使用navigator.mediaDevices.getUserMedia(約束),您可以爲各種設備(其中包括網絡攝像頭和麥克風)獲取MediaStream對象,從而使您能夠根據所需數據執行任何操作。MediaStream引用存儲在哪裏?
getUserMedia方法返回一個Promise,它反過來返回一個媒體流,或者在給定約束(視頻,音頻等)沒有可用流的情況下拒絕。如果確實獲得了流對象但不保存任何引用到MediaStream - 垃圾收集器應該刪除它,對吧?但是,我觀察到的是,流不會被刪除 - 例如,如果我爲網絡攝像頭獲取流,即使我沒有參考流,它仍會保持忙碌狀態。
問題是:如果您自己沒有保存對它的引用,MediaStream對象存儲在哪裏?爲什麼它不被垃圾收集器清除?爲什麼我的攝像頭保持忙碌?
什麼瀏覽器?用[這個小提琴](https://jsfiddle.net/jib1/qz7qh9h7/),我的相機指示燈在Firefox和Chrome中都會熄滅約10秒。注意包含一些代碼? – jib