Adjust the Volume
Introduction
The Agora RTC SDK enables you to manage the volume of the recorded audio or of the audio playback according to your actual scenario. For example, to mute a remote user in a one-to-one call, you can set the audio playback volume as 0.
This article provides the APIs and additional information relating to audio recording, audio mixing, audio playback and in-ear monitoring volume settings.
Sample project
We provide an open-source AdjustVolume sample project that implements adjusting the sampling, playback, and ear-monitoring volume on GitHub. You can download the sample project and view the source code.
Implementation
Before adjusting the audio volume, ensure that you have implemented the basic real-time communication functions in your project. For details, see Start a Call or Start Interactive Live Streaming.
Adjust the recording volume
Recording is the process of sampling audio by a recording device and transmitting the recorded signal to the sender. To adjust the recording volume, you can set the volume of the recorded signal.
Call adjustRecordingSignalVolume
to set the volume of the recorded signal.
The volume
parameter represents the audio level of the recorded signal, which ranges between 0 and 100:
- 0: Mute.
- 100: (Default) The original volume.
Sample code
API reference
Adjust the playback volume
Playback is the process of playing the received audio signal on the local playback device. To adjust the playback volume, you can set the volume of the audio signal.
You can use adjustPlaybackSignalVolume
or adjustUserPlaybackSignalVolume
to set the volume of the audio signal.
adjustPlaybackSignalVolume
:- Universally sets the playback audio level of all remote users after audio mixing.
- The
volume
parameter represents the playback audio level, which ranges between 0 and 400.
adjustUserPlaybackSignalVolume
:- Adjusts the playback audio level of a specified remote user after audio mixing. Call this method as many times as necessary to adjust the playback volume of different remote users, or to repeatedly adjust the playback volume of the same remote user.
- The
volume
parameter represents the playback audio level, which ranges between 0 and 100.
adjustPlaybackSignalVolume
and adjustAudioMixingVolume
, and set the volume parameter as 0.adjustUserPlaybackSignalVolume
after joining a channel.Sample code
API reference
Adjust the in-ear monitoring volume
In audio recording, mixing and playing, you can call setInEarMonitoringVolume
to adjust the volume of the in-ear monitoring.
The volume
parameter represents the volume of the in-ear monitoring, ranging between 0 and 100.
- 0: Mute.
- 100: (Default) The original volume.
Sample code
API reference
Get the data of the loudest speaker (callback)
When recording, mixing, or playing audio, you can use the following methods to get the data of the loudest speaker in the channel.
-
Reports users with the highest peak volumes. The
onAudioVolumeIndication
callback reports the user IDs the corresponding volumes of the currently loudest speakers in the channel.You must callenableAudioVolumeIndication
to be able to receive this callback.
Sample code
-
Reports the user with the highest average volume. The
onActiveSpeaker
callback reports the user ID with the highest average volume during a certain period of time.You must callenableAudioVolumeIndication
to be able to receive this callback.
Sample code
API reference
Considerations
Setting the audio level too high may cause audio distortion on some devices.
Reference
When adjusting the audio volume, you can also refer to the following articles: