# Manage media and devices (/en/realtime-media/video/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 [#understand-the-tech]

Agora Video 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 [#prerequisites]

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

## Implement volume control [#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 [#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 [#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 [#adjust-the-capture-volume-of-local-audio-1]

    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 [#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 [#api-reference-10]

    * [`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 [#see-also]

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