This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
The getTracks() method of the MediaStream interface returns a sequence that represents all the MediaStreamTrack objects in this stream's track set, regardless of MediaStreamTrack.kind.
getTracks()
None.
An array of MediaStreamTrack objects.
navigator.mediaDevices
.getUserMedia({ audio: false, video: true })
.then((mediaStream) => {
document.querySelector("video").srcObject = mediaStream;
// Stop the stream after 5 seconds
setTimeout(() => {
const tracks = mediaStream.getTracks();
tracks[0].stop();
}, 5000);
});
| Specification |
|---|
| Media Capture and Streams> # dom-mediastream-gettracks> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
getTracks |
38 | 12 | 34 | 25 | 11 | 38 | 34 | 25 | 11 | 3.0 | 38 | 11 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaStream/getTracks