RTCPeerConnection.removeTrack()

RTCPeerConnection.removeTrack() 메소드는 RTCPeerConnection.getSenders()에 의해 보고된 발신자 목록에서 해당 RTCRtpSender를 실제로 제거하지 않은채, 지정한 트랙에서 미디어 전송을 중단하도록 연결의 로컬엔드에 알려줍니다. 해당 트랙이 이미 중단되었거나, 연결의 발신자 목록에 존재하지 않으면, 이 메소드는 아무 영향이 없습니다.

연결이 이미 협상된 경우 (signalingState"stable"로 설정된 경우), 재협상이 필요하다고 표시를 하게됩니다. 따라서, 원격 유저는 해당 협상이 발생하기 전까지 아무런 변화를 감지 할 수 없습니다. negotiationneeded 이벤트가 RTCPeerConnection에 전송되고, 로컬엔드에게 해당 협상이 반드시 발생해야 한다고 알려주게됩니다.

Syntax

pc.removeTrack(sender);

매개변수

mediaTrack
연결에서 해당하는 발신자를 제거하도록 알려주는 RTCRtpSender.

반환 값

undefined.

예외처리

InvalidStateError
연결이 열린 상태가 아닙니다.

예시

아래의 예시는 연결에 비디오 트랙을 추가하고, 닫기 버튼을 감청하여 유저가 버튼을 클릭하면 해당 미디어를 제거하도록 합니다.

var pc, sender;
navigator.getUserMedia({video: true}, function(stream) {
  pc = new RTCPeerConnection();
  var track = stream.getVideoTracks()[0];
  sender = pc.addTrack(track, stream);
});

document.getElementById("closeButton").addEventListener("click", function(event) {
  pc.removeTrack(sender);
  pc.close();
}, false);

사양서

사양서 상태 코멘트
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCPeerConnection.removeTrack()' 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
removeTrackChrome Full support 64Edge Full support YesFirefox Full support 22IE No support NoOpera Full support 51Safari Full support 11WebView Android Full support 64Chrome Android Full support 64Firefox Android Full support 44Opera Android Full support 47Safari iOS Full support YesSamsung Internet Android Full support 6.0

Legend

Full support  
Full support
No support  
No support

참조

문서 태그 및 공헌자

이 페이지의 공헌자: chansbro
최종 변경자: chansbro,