Video ๊ฐ์ฒด ์์ฑ, ํด์
์น๊ณผ ๋ฐ์คํฌํ ์ดํ๋ฆฌ์ผ์ด์
์์ ๋์์ ์น์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ฒผ๋ค. ์น์์๋ HTML์ Video Object๋ฅผ ์ฌ์ฉํ๊ณ ๋ฐ์คํฌํ ์ดํ๋ฆฌ์ผ์ด์
์์๋ HTML์ Video Object๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ ๊ตฐ๋ฐ์์ ์น ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ๊ณณ์์ ์น ์นด๋ฉ๋ผ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค. ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ ์์ ๊ธฐ ์ํด์ ๋ฐ์คํฌํ ์ดํ๋ฆฌ์ผ์ด์
์์ ๋น๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑ/ ํด์ ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค. ๋จ์ํ pause()
๋ฅผ ์ด์ฉํด ๋น๋์ค ์ถ๋ ฅ์ ์ค์งํ๋ฉด ์ฌ์ ํ ์น์์ ๋ฐ์คํฌํ ์ดํ๋ฆฌ์ผ์ด์
์์ ์น ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ์ธ์ํ๊ธฐ ๋๋ฌธ์ video ๊ฐ์ฒด์ ๋ชจ๋ ์์๋ฅผ ์ ์งํด์ผ ํ๋ค.
Video ๊ฐ์ฒด ์์ฑ
this.video = document.createElement("video");
this.video.width = 480;
this.video.height = 360;
this.video.autoplay = true;
this.video.style.display = "none";
const media = navigator.mediaDevices.getUserMedia({
video: true,
audio: false,
});
media.then((stream) => {
this.video.srcObject = stream;
});
createElement("video")
๋ฅผ ํธ์ถํด HTML ๋น๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. getUserMedia()
๋ก ๋ฐ์์จ ์ฌ์ฉ์์ ๋น๋์คstream
๋ฅผ this.video.srcObject
์ ํ ๋นํ๋ค.
Video ๊ฐ์ฒด ํด์
this.video.pause();
this.video.srcObject.getTracks()[0].stop();
this.video.srcObject = null;
MediaStreamTrack
์ stop()
์ ํธ์ถํ์ฌ ๋น๋์ค ์คํธ๋ฆผ์ ์ ์งํ๋ค. this.video.srcObject
๋ฅผ null
๋ก ์ค์ ํ์ฌ ๊ฐ์ฒด๋ฅผ ํด์ ํ๋ค.