# Manage media and devices (/en/realtime-media/broadcast-streaming/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-3]

    Ensure that you have implemented the [SDK quickstart](../../index) in your project.

    ## Implement volume control [#implement-volume-control-3]

    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]

    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">
      <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-3]

    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-3]

    * [`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-3]

    * [Custom audio source](custom-audio)
    * [Custom video source](custom-video)

    
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
      
  
