背景/问题
使用navigator.mediaDevices.getUserMedia(constraints)
我可以获得各种设备的 MediaStream 对象,其中包括网络摄像头和麦克风,允许您对通过的数据做任何您想做的事情。
如果没有可用于给定约束(视频、音频等)的流,则该方法getUserMedia
返回一个Promise
解析媒体流的方法,如果我确实获得了流对象但不保存对 MediaStream 的任何引用 - 我明白垃圾收集器应将其删除。
我观察到的是流没有被删除-例如,如果我为网络摄像头获取流,即使我没有对流的引用,它也会一直很忙。
问题
- 如果我不保存对 MediaStream 对象的引用,它会存储在哪里?
- 为什么垃圾收集器不删除它?
- 为什么我的网络摄像头一直很忙?