# Manage media and devices (/en/realtime-media/rtc/build/control-audio-and-devices/volume-control-and-mute/web)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

This page shows you how to configure volume settings for audio recording, audio playback, and for the playback of music files.

## Understand the tech

Agora RTC SDK supports adjusting the audio volume for both recording and playback to meet practical application use-cases. For example, during a two-person call, you can mute a remote user by adjusting the playback volume setting to 0.

      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
## Prerequisites

Ensure that you have implemented the [SDK quickstart](/en/realtime-media/rtc/get-started-sdk) in your project.

## Implement volume control

      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
Use one or more of the following volume control methods to adjust volume settings.

The Agora SDK provides a `setVolume` method for both local and remote audio track objects to adjust the volume of local audio capture and remote audio playback.

### Mute the local audio stream

To mute or unmute the local audio track, call `setMuted` or `setEnabled`:

```js
// Mute the local audio stream
localAudioTrack.setMuted(true);

// Unmute the local audio stream
localAudioTrack.setMuted(false);
```

### Adjust the playback volume of remote audio

In this example, `remoteUser` refers to a subscribed remote user object.

```javascript
// Reduce the volume by half
remoteUser.audioTrack.setVolume(50);
// Use the original volume
remoteUser.audioTrack.setVolume(100);
// To mute remote users without unsubscribing, set the remote volume to 0
remoteUser.audioTrack.setVolume(0);
```

### Adjust the capture volume of local audio

In this example, `localAudioTrack` is the local audio track object you created.

```javascript
AgoraRTC.createMicrophoneAudioTrack().then(localAudioTrack => {
  // Reduce microphone volume by half
  localAudioTrack.setVolume(50);
  // Double the microphone volume
  localAudioTrack.setVolume(200);
  // Set the microphone volume to 0
  localAudioTrack.setVolume(0);
});
```

<CalloutContainer type="warning">
  <CalloutTitle>
    Caution
  </CalloutTitle>

  <CalloutDescription>
    If you set the volume too high using the signal volume adjustment methods, it may lead to audio distortion on some devices.
  </CalloutDescription>
</CalloutContainer>

    
  
      
  
## Reference

This section contains content that completes the information on this page, or points you to documentation that explains other aspects to this product.

      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
### API reference

* [`ILocalAudioTrack.setVolume`](https://api-ref.agora.io/en/video-sdk/web/4.x/interfaces/ilocalaudiotrack.html#setvolume)
* [`IRemoteAudioTrack.setVolume`](https://api-ref.agora.io/en/video-sdk/web/4.x/interfaces/iremoteaudiotrack.html#setvolume)
* [`ILocalAudioTrack.setMuted`](https://api-ref.agora.io/en/video-sdk/web/4.x/interfaces/ilocalaudiotrack.html#setmuted)
* [`ILocalAudioTrack.setEnabled`](https://api-ref.agora.io/en/video-sdk/web/4.x/interfaces/ilocalaudiotrack.html#setenabled)

    
  
      
  
### See also

* [Custom audio source](/en/realtime-media/rtc/build/customize-audio-processing/custom-audio)
* [Custom video source](/en/realtime-media/rtc/build/capture-and-render-video/custom-video)
