背景・課題
I を使用するnavigator.mediaDevices.getUserMedia(constraints)
と、さまざまなデバイス (Web カメラやマイクなど) 用の MediaStream オブジェクトを取得でき、通過するデータを使って好きなことを行うことができます。
このメソッドは、メディア ストリームに解決される をgetUserMedia
返すPromise
か、指定された制約 (ビデオ、オーディオなど) に使用できるストリームがない場合は拒否します。ストリーム オブジェクトを取得した場合、MediaStream への参照を保存しないでください。ガベージコレクターはそれを削除する必要があります。
私が観察したことは、ストリームが削除されていないことです。たとえば、ウェブカメラのストリームを取得すると、ストリームへの参照が残っていなくても、ストリームはビジー状態のままです。
質問
- 参照を保存しない場合、MediaStream オブジェクトはどこに保存されますか?
- ガベージコレクターによって削除されないのはなぜですか?
- ウェブカメラが常にビジー状態になるのはなぜですか?