navigator.mediaDevices.getUserMedia (constraints)를 사용하면 웹캠과 마이크를 비롯한 다양한 장치 용 MediaStream 객체를 얻을 수 있으므로 사용자가 원하는 데이터를 원하는대로 처리 할 수 있습니다.MediaStream 참조는 어디에 저장되어 있습니까?
getUserMedia 메서드는 약속을 반환합니다. 약속은 미디어 스트림을 반환하거나 지정된 제약 조건 (비디오, 오디오 등)에 사용할 수있는 스트림이없는 경우 거부합니다. 스트림 객체를 얻지 만 참조를 저장하지 않으면 MediaStream에 - 가비지 수집기가 제거해야합니다. 그러나 내가 관찰 한 것은 스트림이 제거되지 않는다는 것입니다. 예를 들어 웹캠 용 스트림을 얻으면 스트림에 참조가 남아 있지 않아도 계속 바쁘게 유지됩니다.
질문은 다음과 같습니다. 직접 참조를 저장하지 않으면 MediaStream 객체가 어디에 저장됩니까? 왜 가비지 컬렉터에 의해 제거되지 않습니까? 내 웹캠이 바쁜 이유는 무엇입니까?
? [this fiddle] (https://jsfiddle.net/jib1/qz7qh9h7/)을 사용하면 Firefox와 Chrome에서 약 10 초 후에 카메라의 불빛이 꺼집니다. 주의가 필요한 코드가 있습니까? – jib