The MediaStream.onremovetrack property is an EventHandler which specifies a function to be called when the removetrack event occurs on a MediaStream instance. This happens when a track of any kind is removed from the media stream. This event is fired when the browser removes a track from the stream (such as when a RTCPeerConnection is renegotiated or a stream being captured using HTMLMediaElement.captureStream() gets a new set of tracks because the media element being captured loaded a new source.
The removetrack event does not get fired when JavaScript code explicitly removes tracks from the stream (by calling removeTrack()).
Syntax
MediaStream.onremovetrack = eventHandler;
Value
This should be set to a function which you provide that accepts as input a MediaStreamTrackEvent object representing the removetrack event which has occurred. The MediaStreamTrack representing the track which was removed is specified in the event's track property.
Example
This example adds a listener which, when a track is removed from the stream, logs the track that was removed.
stream.onremovetrack = function(event) {
  let trackList = document.getElementById("tracks");
  let label = document.createElement("li");
  label.innerHTML = "Removed: " + event.track.kind + ": " + event.track.label;
  trackList.appendChild(label);
};
Specifications
| Specification | Status | Comment | 
|---|---|---|
| Media Capture and Streams The definition of 'MediaStream.onremovetrack' in that specification. | Editor's Draft | Initial specification. | 
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|
| Basic support | ? | No support | ? | ? | ? | 
| Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android | 
|---|---|---|---|---|---|---|---|
| Basic support | ? | ? | No support | No support | ? | ? | (Yes) | 
See also
- The removetrackevent and its type,MediaStreamTrackEvent.