> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # setAutoGainControl > Toggle browser automatic gain control on the local mic at runtime. ```ts setAutoGainControl(enabled): Promise ``` Toggle browser automatic gain control on the local mic at runtime. ## **Parameters** **`enabled`** `boolean` — required Whether automatic gain control should be enabled. --- ## **Returns** `Promise` — whether the constraint reached the microphone. `false` is an outcome rather than an error: a leg sending media the SDK did not capture is left alone. A UI that reflects the toggle must read this value instead of assuming the call succeeded. Any failure behind a `false` is also reported on [`errors$`](/docs/browser-sdk/v4/reference/webrtc-call/errors\$). ## **Examples** ### Toggle from a UI switch ```ts agcSwitch.addEventListener('change', async (e) => { await call.setAutoGainControl(e.target.checked); }); ``` ## **See** * [`setEchoCancellation`](/docs/browser-sdk/v4/reference/webrtc-call/set-echo-cancellation), [`setNoiseSuppression`](/docs/browser-sdk/v4/reference/webrtc-call/set-noise-suppression) — companion processing toggles. > Toggle browser automatic gain control on the local mic at runtime.