티스토리 뷰
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
'프로그래밍 > React' 카테고리의 다른 글
react app(webpack, craco) -> vite로 변경하기 (0) | 2022.08.14 |
---|---|
useState 상태 업데이트의 2가지 방법. (0) | 2022.08.09 |
리액트 라우터에서 페이지 이동시마다 특정 이벤트 실행. (0) | 2021.09.17 |
리액트에서 zxing/library를 활용하여 qrcode, barcode를 읽을 경우 예제코드 (0) | 2021.09.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 마크다운
- iframe
- Rust
- contributor
- craco
- youtube
- 웹어셈블리
- HWP
- 그래프
- webassembly
- 티스토리API
- 팀별 분석
- 7위를 하는 이유
- #그래프
- JavaScript
- 노력만 가상한 글
- #useState 특징
- WASM
- 배포
- #업데이트가 이상하게 될떄
- #노력만 가상한 글
- ffmpeg
- API
- #useState
- KBL
- contributer
- #팀별 분석
- vtie
- 무관의 왕
- vscode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함