The active read-only property of the MediaStream interface returns a Boolean value which is true if the stream is currently active; otherwise, it returns false. A stream is considered active if at least one of its MediaStreamTracks is not in the MediaStreamTrack.ended state. Once every track has ended, the stream's active property becomes false.


const isActive =;


A Boolean value which is true if the stream is currently active; otherwise, the value is false.


In this example, a new stream whose source is the user's local camera and microphone is requested using getUserMedia(). When that stream becomes available (that is, when the returned Promise is fulfilled, a button on the page is updated based on whether or not the stream is currently active.

const promise = navigator.mediaDevices.getUserMedia({ 
  audio: true, 
  video: true 

promise.then((stream) => {
  const startBtn = document.querySelector('#startBtn');
  startBtn.disabled =; 


Specification Status Comment
Media Capture and Streams
The definition of 'active' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
activeChrome Full support 45Edge Full support 12Firefox Full support 52IE No support NoOpera No support NoSafari Full support YesWebView Android Full support 45Chrome Android Full support 45Firefox Android Full support 52Opera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support 5.0


Full support  
Full support
No support  
No support