MediaStreamTrack.stop()

MediaStreamTrack.stop() 메서드는 트랙을 정지합니다.

구문

track.stop()

설명

stop() 메서드를 호출하면 사용자 에이전트에게 MediaStreamTrack이 소스(파일, 네트워크 스트림, 장치 카메라와 마이크...)를 더는 필요로 하지 않음을 표현합니다. 두 개의 탭이 장치의 마이크에 접근하고 있는 경우처럼, 다수의 트랙이 하나의 소스를 사용하고 있을 수도 있으므로 소스 자체는 즉시 멈추지 않을 수도 있으며, 대신 트랙과 소스를 즉시 분리합니다. 아무런 미디어 트랙도 소스를 사용하지 않는 상태가 되면 그때 소스가 완전히 정지합니다.

stop()을 호출함과 동시에 readyState 속성은 ended로 바뀝니다.

예제

비디오 스트림 정지

이번 예제는 주어진 <video> 요소의 모든 트랙에서 stop()을 호출해 비디오 스트림을 정지하는 함수입니다.

function stopStreamedVideo(videoElem) {
  const stream = videoElem.srcObject;
  const tracks = stream.getTracks();

  tracks.forEach(function(track) {
    track.stop();
  });

  videoElem.srcObject = null;
}

우선 비디오 요소에서 srcObject 속성을 사용해 스트림을 가져오는 것부터 시작합니다. 그다음으로는 getTracks() 메서드를 사용해 스트림의 트랙 목록을 가져오고, 이제 forEach()로 각 트랙의 stop() 메서드를 호출합니다.

마지막으로, srcObjectnull로 설정해서 MediaStream과의 연결을 끊어, 객체를 해제할 수 있도록 합니다.

명세

Specification Status Comment
Media Capture and Streams
The definition of 'MediaStreamTrack.stop()' in that specification.
Candidate Recommendation Initial specification.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
stopChrome Full support 61Edge Full support 12Firefox Full support 34IE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 61Chrome Android Full support 61Firefox Android Full support 34Opera Android Full support 43Safari iOS Full support YesSamsung Internet Android Full support 8.0

Legend

Full support  
Full support
No support  
No support

같이 보기