티스토리 뷰

728x90
반응형

플러그인을 사용하면 보통 알아서 처리해주기에 그럴일은 없겠지만
직접 video 태그를 사용하고, getUserMedia를 사용하는 경우 문제가 있을 수 있다.

  const [localStream, setLocalStream] = useState<MediaStream>();
  useEffect(() => {
    navigator.mediaDevices.getUserMedia({
      video: { facingMode: "user" }, //전면
      // video: { facingMode: { exact: "environment" } }, //후면
    })
      .then(stream => {
        console.log(stream);
        setLocalStream(stream);
      })
    return () => {
      if (localStream) {
          const vidTrack = localStream.getVideoTracks();
          vidTrack.forEach(track => {
            localStream.removeTrack(track);
          });
      }
    }
  }, []);

위와 같은 코드로 해당 컴포넌트가 RemoveTrack으로 해당 미디어스트림에 등록된 비디오들을 제거해줘야 한다.

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함