This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Obsolete
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
The RTCPeerConnection.getStreamById()
method returns the MediaStream
with the given id that is associated with local or remote end of the connection. If no stream matches, it returns null
.
This property has been replaced with the RTCPeerConnection.getLocalStreams
and RTCPeerConnection.getRemoteStreams
properties. If you have code that uses stream
, you will need to update, since browsers have begun to remove support for stream
.
Syntax
var mediaStream = pc.getStream(id);
Parameters
- id
- Is a
DOMString
corresponding to the stream to return.
Example
var stream = pc.getStreamById(myTrackId); if (stream) { console.log("Found stream: " + stream.id); }
Polyfill
Running the following code before any other code will create RTCPeerConnection.prototype.getStreamById()
if it's not natively available.
// from: https://bugs.chromium.org/p/chromium/issues/detail?id=698163&desc=5#c10 RTCPeerConnection.prototype.getStreamById = function(id) { try { var localStreams = this.getLocalStreams(); var remoteStreams = this.getRemoteStreams(); var i; for (i = 0; i < localStreams.length; i++) { if (localStreams[i].id == id) return localStreams[i]; } for (i = 0; i < remoteStreams.length; i++) { if (remoteStreams[i].id == id) return remoteStreams[i]; } } catch(e) {} return null; }
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
getStreamById | Chrome No support 56 — 62 | Edge No support 15 — 79 | Firefox No support 22 — 53 | IE No support No | Opera
Full support
43
| Safari ? | WebView Android No support 56 — 62 | Chrome Android No support 56 — 62 | Firefox Android Full support 44 | Opera Android
Full support
43
| Safari iOS ? | Samsung Internet Android No support 6.0 — 8.0 |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.
- See implementation notes.
- See implementation notes.