The MediaTrackSupportedConstraints dictionary's noiseSuppression property is a read-only Boolean value which is present (and set to true) in the object returned by MediaDevices.getSupportedConstraints() if and only if the user agent supports the noiseSuppression constraint. If the constraint isn't supported, it's not included in the list, so this value will never be false.

You can access the supported constraints dictionary by calling navigator.mediaDevices.getSupportedConstraints().

The noiseSuppression cconstraint indicates whether or not the browser offers the ability to automatically control the gain (volume) on media tracks; this obviously is contingent on whether or not the individual device supports automatic gain control as well.


noiseSuppressionSupported = supportedConstraintsDictionary["noiseSuppression"];


This property is present in the dictionary (and its value is always true) if the user agent supports the noiseSuppression constraint (and therefore supports noise suppression on audio tracks). If the property isn't present, this property is missing from the supported constraints dictionary, and you'll get undefined if you try to look at its value.


This example simply displays whether or not your browser supports the noiseSuppression constraint.

let result = document.getElementById("result");

if (navigator.mediaDevices.getSupportedConstraints()["noiseSuppression"]) {
    result.innerHTML = "Supported!";
} else {
    result.innerHTML = "Not supported!";



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

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support69 ?


Yes — 55 moz

? Yes ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ?69 ?


Yes — 55 moz

Yes ? ?

See also

Document Tags and Contributors

Contributors to this page: fscholz, Sheppy
Last updated by: fscholz,