API Overview
Agora provides ensured quality of experience (QoE) for worldwide Internet-based voice and video communications through SD-RTN™.
Initialization related
| Method / Callback | Description |
|---|---|
| GetAgoraRtcEngine | Creates one IRtcEngine object. |
| Initialize | Initializes IRtcEngine. |
| Release | Releases the IRtcEngine instance. |
Channel related
| Method / Callback | Description |
|---|---|
| SetChannelProfile | Sets the channel profile. |
| JoinChannelWithOptions | Joins a channel with media options. |
| JoinChannelEx | Joins a channel. |
| UpdateChannelMediaOptions | Updates the channel media options after joining the channel. |
| UpdateChannelMediaOptionsEx | Updates the channel media options after joining the channel. |
| LeaveChannelWithOptions | Sets channel options and leaves the channel. |
| LeaveChannelEx | Sets channel options and leaves the channel. |
| PreloadChannel | Preloads a channel with token, channelId, and uid. |
| PreloadChannelWithUserAccount | Preloads a channel with token, channelId, and userAccount. |
| UpdatePreloadChannelToken | Updates the wildcard token for preloading channels. |
| RenewToken | Renews the token. |
| SetClientRole | Set the user role and the audience latency level in a live streaming scenario. |
| OnJoinChannelSuccess | Occurs when a user joins a channel. |
| OnRejoinChannelSuccess | Occurs when a user rejoins the channel. |
| OnClientRoleChanged | Occurs when the user role or the audience latency level changes. |
| OnClientRoleChangeFailed | Occurs when switching a user role fails. |
| OnLeaveChannel | Occurs when a user leaves a channel. |
| OnUserJoined | Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins the channel. |
| OnUserOffline | Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) leaves the channel. |
| OnNetworkTypeChanged | Occurs when the local network type changes. |
| OnUplinkNetworkInfoUpdated | Occurs when the uplink network information changes. |
| OnConnectionLost | Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted. |
| OnConnectionStateChanged | Occurs when the network connection state changes. |
| OnRequestToken | Occurs when the token expires. |
| OnTokenPrivilegeWillExpire | Occurs when the token expires in 30 seconds. |
| OnError | Reports an error during SDK runtime. |
Publish and subscription
| Method / Callback | Description |
|---|---|
| MuteLocalAudioStream | Stops or resumes publishing the local audio stream. |
| MuteLocalAudioStreamEx | Stops or resumes publishing the local audio stream. |
| MuteRemoteAudioStream | Stops or resumes subscribing to the audio stream of a specified user. |
| MuteRemoteAudioStreamEx | Stops or resumes receiving the audio stream of a specified user. |
| MuteAllRemoteAudioStreams | Stops or resumes subscribing to the audio streams of all remote users. |
| MuteAllRemoteAudioStreamsEx | Stops or resumes subscribing to the audio streams of all remote users. |
| MuteLocalVideoStream | Stops or resumes publishing the local video stream. |
| MuteLocalVideoStreamEx | Stops or resumes publishing the local video stream. |
| MuteRemoteVideoStream | Stops or resumes subscribing to the video stream of a specified user. |
| MuteRemoteVideoStreamEx | Stops or resumes receiving the video stream of a specified user. |
| MuteAllRemoteVideoStreams | Stops or resumes subscribing to the video streams of all remote users. |
| MuteAllRemoteVideoStreamsEx | Stops or resumes subscribing to the video streams of all remote users. |
| SetSubscribeAudioBlocklist | Set the blocklist of subscriptions for audio streams. |
| SetSubscribeAudioBlocklistEx | Set the blocklist of subscriptions for audio streams. |
| SetSubscribeAudioAllowlist | Sets the allowlist of subscriptions for audio streams. |
| SetSubscribeAudioAllowlistEx | Sets the allowlist of subscriptions for audio streams. |
| SetSubscribeVideoBlocklist | Set the blocklist of subscriptions for video streams. |
| SetSubscribeVideoBlocklistEx | Set the blocklist of subscriptions for video streams. |
| SetSubscribeVideoAllowlist | Set the allowlist of subscriptions for video streams. |
| SetSubscribeVideoAllowlistEx | Set the allowlist of subscriptions for video streams. |
| SetRemoteVideoStreamType | Sets the video stream type to subscribe to. |
| SetRemoteVideoStreamTypeEx | Sets the video stream type to subscribe to. |
| SetRemoteDefaultVideoStreamType | Sets the default video stream type to subscribe to. |
| SetDualStreamMode | Sets dual-stream mode configuration on the sender side. |
| SetDualStreamModeEx | Sets the dual-stream mode on the sender side. |
| OnAudioPublishStateChanged | Occurs when the audio publishing state changes. |
| OnAudioSubscribeStateChanged | Occurs when the audio subscribing state changes. |
| OnVideoSubscribeStateChanged | Occurs when the video subscribing state changes. |
Audio basic functions
| Method / Callback | Description |
|---|---|
| AdjustUserPlaybackSignalVolume | Adjusts the playback signal volume of a specified remote user. |
| AdjustUserPlaybackSignalVolumeEx | Adjusts the playback signal volume of a specified remote user. |
| AdjustPlaybackSignalVolume | Adjusts the playback signal volume of all remote users. |
| EnableAudio | Enables the audio module. |
| DisableAudio | Disables the audio module. |
| EnableAudioVolumeIndication | Enables the reporting of users' volume indication. |
| EnableAudioVolumeIndicationEx | Enables the reporting of users' volume indication. |
| SetAudioProfileAndScenario | Sets the audio profile and audio scenario. |
| SetAudioScenario | Sets audio scenarios. |
| SetAudioSessionOperationRestriction | Sets the operational permission of the SDK on the audio session. |
| OnAudioVolumeIndication | Reports the volume information of users. |
| OnActiveSpeaker | Occurs when the most active remote speaker is detected. |
| OnLocalAudioStateChanged | Occurs when the local audio stream state changes. |
| OnFirstLocalAudioFramePublished | Occurs when the first audio frame is published. |
| OnFirstRemoteAudioFrame | Occurs when the SDK receives the first audio frame from a specific remote user. |
| OnUserMuteAudio | Occurs when a remote user (in the communication profile) or a host (in the live streaming profile) stops/resumes sending the audio stream. |
| OnRemoteAudioStateChanged | Occurs when the remote audio state changes. |
| OnLocalAudioStats | Reports the statistics of the local audio stream. |
| OnRemoteAudioStats | Reports the transport-layer statistics of each remote audio stream. |
Audio capture
| Method / Callback | Description |
|---|---|
| EnableLocalAudio | Enables or disables the local audio capture. |
| EnableLoopbackRecording | Enables loopback audio capturing. |
| EnableLoopbackRecordingEx | Enables loopback audio capturing. |
| AdjustRecordingSignalVolume | Adjusts the capturing signal volume. |
| AdjustLoopbackSignalVolume | Adjusts the volume of the signal captured by the sound card. |
| MuteRecordingSignal | Whether to mute the recording signal. |
| EnableInEarMonitoring | Enables in-ear monitoring. |
| SetInEarMonitoringVolume | Sets the volume of the in-ear monitor. |
Audio pre-processing and post-processing
| Method / Callback | Description |
|---|---|
| EnableVoiceAITuner | Enables or disables the voice AI tuner. |
| SetAdvancedAudioOptions | Sets audio advanced options. |
| SetAINSMode | Sets whether to enable the AI noise suppression function and set the noise suppression mode. |
| SetLocalVoiceEqualization | Sets the local voice equalization effect. |
| SetLocalVoicePitch | Changes the voice pitch of the local speaker. |
| SetLocalVoiceReverb | Sets the local voice reverberation. |
| SetVoiceBeautifierPreset | Sets a preset voice beautifier effect. |
| SetVoiceBeautifierParameters | Sets parameters for the preset voice beautifier effects. |
| SetAudioEffectPreset | Sets an SDK preset audio effect. |
| SetAudioEffectParameters | Sets parameters for SDK preset audio effects. |
| SetVoiceConversionPreset | Sets a preset voice beautifier effect. |
| SetLocalVoiceFormant | Set the formant ratio to change the timbre of human voice. |
| EnableSoundPositionIndication | Enables or disables stereo panning for remote users. |
| SetRemoteVoicePosition | Sets the 2D position (the position on the horizontal plane) of the remote user's voice. |
| SetRemoteVoicePositionEx | Sets the 2D position (the position on the horizontal plane) of the remote user's voice. |
Video basic functions
| Method / Callback | Description |
|---|---|
| EnableVideo | Enables the video module. |
| DisableVideo | Disables the video module. |
| SetVideoScenario | Sets video application scenarios. |
| SetVideoEncoderConfiguration | Sets the video encoder configuration. |
| SetVideoEncoderConfigurationEx | Sets the video encoder configuration. |
| StartPreview | Enables the local video preview and specifies the video source for the preview. |
| StopPreview | Stops the local video preview. |
| OnLocalVideoStateChanged | Occurs when the local video stream state changes. |
| OnLocalVideoStats | Reports the statistics of the local video stream. |
| OnFirstLocalVideoFramePublished | Occurs when the first video frame is published. |
| OnVideoPublishStateChanged | Occurs when the video publishing state changes. |
| OnVideoSizeChanged | Occurs when the video size or rotation of a specified user changes. |
| OnRemoteVideoStateChanged | Occurs when the remote video stream state changes. |
| OnRemoteVideoStats | Reports the statistics of the video stream sent by each remote users. |
| OnFirstLocalVideoFrame | Occurs when the first local video frame is displayed on the local video view. |
| OnFirstRemoteVideoFrame | Occurs when the renderer receives the first frame of the remote video. |
| OnFirstRemoteVideoDecoded | Occurs when the first remote video frame is received and decoded. |
| OnUserMuteVideo | Occurs when a remote user stops or resumes publishing the video stream. |
| OnUserEnableVideo | Occurs when a remote user enables or disables the video module. |
Video capture
| Method / Callback | Description |
|---|---|
| EnableLocalVideo | Enables/Disables the local video capture. |
| StartCameraCapture | Starts camera capture. |
| StopCameraCapture | Stops camera capture. |
| SetCameraStabilizationMode | Set the camera stabilization mode.(For iOS only) |
Video pre-processing and post-processing
| Method / Callback | Description |
|---|---|
| TakeSnapshot | Takes a snapshot of a video stream. |
| TakeSnapshotWithConfig | Takes a screenshot of the video at the specified observation point. |
| TakeSnapshotEx | Takes a snapshot of a video stream using connection ID. |
| TakeSnapshotWithConfigEx | Gets a video screenshot of the specified observation point using the connection ID. |
| EnableVirtualBackground | Enables/Disables the virtual background. |
| StartLocalVideoTranscoder | Starts the local video mixing. |
| StopLocalVideoTranscoder | Stops the local video mixing. |
| UpdateLocalTranscoderConfiguration | Updates the local video mixing configuration. |
| OnLocalVideoTranscoderError | Occurs when there's an error during the local video mixing. |
| EnableVideoImageSource | Sets whether to replace the current video feeds with images when publishing video streams. |
| SetBeautyEffectOptions | Sets the image enhancement options. |
| SetColorEnhanceOptions | Sets color enhancement. |
| SetLowlightEnhanceOptions | Sets low-light enhancement. |
| SetVideoDenoiserOptions | Sets video noise reduction. |
| SetFilterEffectOptions | Sets the filter effect options and specifies the media source. |
| EnableFaceDetection | Enables or disables face detection for the local user. |
| OnFacePositionChanged | Reports the face detection result of the local user. |
| IsCameraCenterStageSupported | Check if the camera supports portrait center stage. (For iOS and macOS only) |
| EnableCameraCenterStage | Enables or disables portrait center stage. (For iOS and macOS only) |
| OnSnapshotTaken | Reports the result of taking a video snapshot. |
| AddVideoWatermark | Adds a watermark image to the local video. |
| AddVideoWatermarkEx | Adds a watermark image to the local video. |
| ClearVideoWatermarks | Removes the watermark image from the video stream. |
| ClearVideoWatermarkEx | Removes the watermark image from the video stream. |
Video rendering
| Method / Callback | Description |
|---|---|
| SetRenderMode | Sets the render mode of the media player. |
| SetLocalRenderMode | Updates the display mode of the local video view. |
| SetRemoteRenderMode | Updates the display mode of the video view of a remote user. |
| SetRemoteRenderModeEx | Sets the video display mode of a specified remote user. |
| SetLocalRenderTargetFps | Sets the maximum frame rate for rendering local video. |
| SetRemoteRenderTargetFps | Sets the maximum frame rate for rendering remote video. |
| SetView | Sets the view. |
| SetupLocalVideo | Initializes the local video view. |
| SetupRemoteVideo | Initializes the video view of a remote user. |
| SetupRemoteVideoEx | Initializes the video view of a remote user. |
| EnableInstantMediaRendering | Enables audio and video frame instant rendering. |
| StartMediaRenderingTracing | Enables tracing the video frame rendering process. |
| StartMediaRenderingTracingEx | Enables tracing the video frame rendering process. |
| OnVideoRenderingTracingResult | Video frame rendering event callback. |
Music file playback
| Method / Callback | Description |
|---|---|
| StartAudioMixing | Starts playing the music file. |
| StopAudioMixing | Stops playing the music file. |
| PauseAudioMixing | Pauses playing and mixing the music file. |
| ResumeAudioMixing | Resumes playing and mixing the music file. |
| AdjustAudioMixingVolume | Adjusts the volume during audio mixing. |
| AdjustAudioMixingPlayoutVolume | Adjusts the volume of audio mixing for local playback. |
| AdjustAudioMixingPublishVolume | Adjusts the volume of audio mixing for publishing. |
| GetAudioMixingPlayoutVolume | Retrieves the audio mixing volume for local playback. |
| GetAudioMixingPublishVolume | Retrieves the audio mixing volume for publishing. |
| SetAudioMixingPlaybackSpeed | Sets the playback speed of the current audio file. |
| GetAudioMixingDuration | Retrieves the duration (ms) of the music file. |
| GetAudioMixingCurrentPosition | Retrieves the playback position (ms) of the music file. |
| SetAudioMixingPitch | Sets the pitch of the local music file. |
| SetAudioMixingPosition | Sets the audio mixing position. |
| SetAudioMixingDualMonoMode | Sets the channel mode of the current audio file. |
| GetAudioTrackCount | Gets the index of audio tracks of the current music file. |
| SelectAudioTrack | Selects the audio track used during playback. |
| SelectMultiAudioTrack | Selects the audio tracks that you want to play on your local device and publish to the channel respectively. |
| OnAudioMixingStateChanged | Occurs when the playback state of the music file changes. |
| OnAudioMixingPositionChanged | Reports the playback progress of a music file. |
Audio effect file playback
| Method / Callback | Description |
|---|---|
| GetEffectsVolume | Retrieves the volume of the audio effects. |
| SetEffectsVolume | Sets the volume of the audio effects. |
| GetVolumeOfEffect | Gets the volume of a specified audio effect file. |
| SetVolumeOfEffect | Gets the volume of a specified audio effect file. |
| PreloadEffect | Preloads a specified audio effect file into the memory. |
| PlayEffect | Plays the specified local or online audio effect file. |
| PlayAllEffects | Plays all audio effect files. |
| PauseEffect | Pauses a specified audio effect file. |
| PauseAllEffects | Pauses all audio effects. |
| ResumeEffect | Resumes playing a specified audio effect. |
| ResumeAllEffects | Resumes playing all audio effect files. |
| StopEffect | Stops playing a specified audio effect. |
| StopAllEffects | Stops playing all audio effects. |
| UnloadEffect | Releases a specified preloaded audio effect from the memory. |
| UnloadAllEffects | Releases a specified preloaded audio effect from the memory. |
| GetEffectDuration | Retrieves the duration of the audio effect file. |
| GetEffectCurrentPosition | Retrieves the playback position of the audio effect file. |
| SetEffectPosition | Sets the playback position of an audio effect file. |
| OnAudioEffectFinished | Occurs when the playback of the local music file finishes. |
Virtual metronome
| Method / Callback | Description |
|---|---|
| StartRhythmPlayer | Enables the virtual metronome. |
| StopRhythmPlayer | Disables the virtual metronome. |
| ConfigRhythmPlayer | Configures the virtual metronome. |
| OnRhythmPlayerStateChanged | Occurs when the state of virtual metronome changes. |
Media player
For more methods about the media player, see IMediaPlayer.
| Method / Callback | Description |
|---|---|
| GetAgoraMediaPlayer | Creates a media player object. |
| IMediaPlayer | This class provides media player functions and supports multiple instances. |
| IMediaPlayerSourceObserver | Provides callbacks for media players. |
Channel media stream relay
| Method / Callback | Description |
|---|---|
| StartOrUpdateChannelMediaRelay | Starts relaying media streams across channels or updates channels for media relay. |
| StartOrUpdateChannelMediaRelayEx | Starts relaying media streams across channels or updates channels for media relay. |
| StopChannelMediaRelay | Stops the media stream relay. Once the relay stops, the host quits all the target channels. |
| StopChannelMediaRelayEx | Stops the media stream relay. Once the relay stops, the host quits all the target channels. |
| PauseAllChannelMediaRelay | Pauses the media stream relay to all target channels. |
| PauseAllChannelMediaRelayEx | Pauses the media stream relay to all target channels. |
| ResumeAllChannelMediaRelay | Resumes the media stream relay to all target channels. |
| ResumeAllChannelMediaRelayEx | Resumes the media stream relay to all target channels. |
| OnChannelMediaRelayStateChanged | Occurs when the state of the media stream relay changes. |
Media push
| Method / Callback | Description |
|---|---|
| StartRtmpStreamWithoutTranscoding | Starts pushing media streams to a CDN without transcoding. |
| StartRtmpStreamWithoutTranscodingEx | Starts pushing media streams to a CDN without transcoding. |
| StartRtmpStreamWithTranscoding | Starts Media Push and sets the transcoding configuration. |
| StartRtmpStreamWithTranscodingEx | Starts Media Push and sets the transcoding configuration. |
| UpdateRtmpTranscoding | Updates the transcoding configuration. |
| UpdateRtmpTranscodingEx | Updates the transcoding configuration. |
| StopRtmpStream | Stops pushing media streams to a CDN. |
| StopRtmpStreamEx | Stops pushing media streams to a CDN. |
| OnRtmpStreamingEvent | Reports events during the Media Push. |
| OnRtmpStreamingStateChanged | Occurs when the state of Media Push changes. |
| OnTranscodingUpdated | Occurs when the publisher's transcoding is updated. |
Data stream
| Method / Callback | Description |
|---|---|
| CreateDataStream | Creates a data stream. |
| CreateDataStreamEx | Creates a data stream. |
| SendStreamMessage | Sends data stream messages. |
| OnStreamMessage | Occurs when the local user receives the data stream from the remote user. |
| OnStreamMessageError | Occurs when the local user does not receive the data stream from the remote user. |
Audio route
This group of method is for Android and iOS only.
| Method / Callback | Description |
|---|---|
| SetDefaultAudioRouteToSpeakerphone | Sets the default audio playback route. |
| SetEnableSpeakerphone | Enables/Disables the audio route to the speakerphone. |
| IsSpeakerphoneEnabled | Checks whether the speakerphone is enabled. |
| OnAudioRoutingChanged | Occurs when the local audio route changes. |
Video Device Management
| Method / Callback | Description |
|---|---|
| EnableMultiCamera | Enables or disables multi-camera capture.(For iOS only) |
| SwitchCamera | Switches between front and rear cameras.(For Android and iOS only) |
| SetCameraCapturerConfiguration | Sets the camera capture configuration. |
| IsCameraZoomSupported | Checks whether the device supports camera zoom.(For Android and iOS only) |
| GetCameraMaxZoomFactor | Gets the maximum zoom ratio supported by the camera.(For Android and iOS only) |
| SetCameraZoomFactor | Sets the camera zoom factor.(For Android and iOS only) |
| IsCameraTorchSupported | Checks whether the device supports camera flash.(For Android and iOS only) |
| SetCameraTorchOn | Enables the camera flash.(For Android and iOS only) |
| IsCameraFaceDetectSupported | Checks whether the device camera supports face detection.(For Android and iOS only) |
| IsCameraFocusSupported | Check whether the device supports the manual focus function.(For Android and iOS only) |
| IsCameraExposureSupported | Queries whether the current camera supports adjusting exposure value.(For Android and iOS only) |
| SetCameraExposureFactor | Sets the camera exposure value.(For Android and iOS only) |
| SetCameraFocusPositionInPreview | Sets the camera manual focus position.(For Android and iOS only) |
| IsCameraAutoFocusFaceModeSupported | Checks whether the device supports the face auto-focus function.(For Android and iOS only) |
| SetCameraAutoFocusFaceModeEnabled | Enables the camera auto-face focus function.(For Android and iOS only) |
| IsCameraExposurePositionSupported | Checks whether the device supports manual exposure.(For Android and iOS only) |
| IsCameraAutoExposureFaceModeSupported | Checks whether the device supports auto exposure.(For iOS only) |
| SetCameraExposurePosition | Sets the camera exposure position.(For Android and iOS only) |
| SetCameraAutoExposureFaceModeEnabled | Sets whether to enable auto exposure.(For iOS only) |
| OnCameraFocusAreaChanged | Occurs when the camera focus area changes.(For Android and iOS only) |
| OnCameraExposureAreaChanged | Occurs when the camera exposure area changes.(For Android and iOS only) |
| QueryCameraFocalLengthCapability | Queries the focal length capability supported by the camera.(For Android and iOS only) |
| QueryCodecCapability | Queries the video codec capabilities of the SDK. |
| EnumerateVideoDevices | Enumerates the video devices. (For Windows and macOS only) |
| Release | Releases all the resources occupied by the IVideoDeviceManager object. (For Windows and macOS only) |
| GetCapability | Gets the detailed video frame information of the video capture device in the specified video format. (For Windows and macOS only) |
| NumberOfCapabilities | Gets the number of video formats supported by the specified video capture device. (For Windows and macOS only) |
| SetCameraDeviceOrientation | Sets the rotation angle of the captured video. (For Windows only) |
| SetDevice | Specifies a device with the device ID. (For Windows and macOS only) |
| GetDevice | Gets a specified piece of information about an indexed video device. (For Windows and macOS only) |
| GetCount | Gets the total number of the indexed video devices in the system. |
| Release | Releases all the resources occupied by the IVideoDeviceCollection object. |
| OnVideoDeviceStateChanged | Occurs when the video device state changes. (For Windows and macOS only) |
Audio Device Management
| Method / Callback | Description |
|---|---|
| StartPlaybackDeviceTest | Starts the audio playback device test. |
| StopPlaybackDeviceTest | Stops the audio playback device test. |
| StartRecordingDeviceTest | Starts the audio capturing device test. |
| StopRecordingDeviceTest | Stops the audio capturing device test. |
| EnumeratePlaybackDevices | Enumerates the audio playback devices. (For Windows and macOS only) |
| EnumerateRecordingDevices | Enumerates the audio capture devices. (For Windows and macOS only) |
| FollowSystemPlaybackDevice | Sets the audio playback device used by the SDK to follow the system default audio playback device. (For Windows and macOS only) |
| FollowSystemRecordingDevice | Sets the audio recording device used by the SDK to follow the system default audio recording device. (For Windows and macOS only) |
| SetPlaybackDevice | Sets the audio playback device. (For Windows and macOS only) |
| GetPlaybackDevice | Retrieves the audio playback device associated with the device ID. (For Windows and macOS only) |
| GetPlaybackDeviceInfo | Get the information and type of the audio playback device.(For macOS only) |
| SetPlaybackDeviceVolume | Sets the volume of the audio playback device. (For Windows only) |
| SetRecordingDevice | Sets the audio capture device. (For Windows and macOS only) |
| GetRecordingDevice | Gets the current audio recording device. (For Windows and macOS only) |
| GetRecordingDeviceInfo | Get the information and type of the audio capturing device.(For macOS only) |
| SetRecordingDeviceVolume | Sets the volume of the audio capture device. (For Windows and macOS only) |
| GetRecordingDeviceVolume | Retrieves the volume of the audio recording device. (For Windows only) |
| SetPlaybackDeviceMute | Mutes the audio playback device. (For Windows only) |
| GetPlaybackDeviceMute | Retrieves whether the audio playback device is muted. (For Windows only) |
| SetRecordingDeviceMute | Sets the mute status of the audio capture device. (For Windows only) |
| GetRecordingDeviceMute | Gets whether the audio capture device is muted. (For Windows only) |
| StartAudioDeviceLoopbackTest | Starts an audio device loopback test. (For Windows and macOS only) |
| StopAudioDeviceLoopbackTest | Stops the audio device loopback test. (For Windows and macOS only) |
| Release | Releases all the resources occupied by the IAudioDeviceManager object. (For Windows only) |
| SetDevice | Specifies an audio device. (For Windows and macOS only) |
| GetDefaultDevice | Gets the default audio device of the system. (For Windows and macOS only) |
| GetDevice | Gets the information of a specified audio device by index. (For Windows and macOS only) |
| GetCount | Gets the total number of audio playback or audio capture devices. (For Windows and macOS only) |
| SetApplicationVolume | Sets the volume of the app. (For Windows and macOS only) |
| GetApplicationVolume | Retrieves the volume of the app. (For Windows and macOS only) |
| SetApplicationMute | Mutes/Unmutes the app. (For Windows and macOS only) |
| IsApplicationMute | Checks whether the app is muted. (For Windows and macOS only) |
| Release | Releases all the resources occupied by the IAudioDeviceCollection object. (For Windows and macOS only) |
| OnAudioDeviceStateChanged | Occurs when the audio device state changes. (For Windows and macOS only) |
| OnAudioDeviceVolumeChanged | Reports the volume change of the audio device or app. (For Windows and macOS only) |
| GetAudioDeviceInfo | Gets the audio device information.(For Android only) |
Extension
| Method / Callback | Description |
|---|---|
| LoadExtensionProvider | Loads an extension. |
| RegisterExtension | Registers an extension. |
| EnableExtension | Enables or disables extensions. |
| GetExtensionProperty | Gets detailed information on the extensions. |
| SetExtensionProperty | Sets the properties of the extension. |
| SetExtensionProviderProperty | Sets the properties of the extension provider. |
| OnExtensionStartedWithContext | Occurrs when the extension is enabled. |
| OnExtensionStoppedWithContext | Occurs when the extension is disabled. |
| OnExtensionEventWithContext | The event callback of the extension. |
| OnExtensionErrorWithContext | Occurs when the extension runs incorrectly. |
Network and others
| Method / Callback | Description |
|---|---|
| StartEchoTest | Starts an audio device loopback test. |
| StopEchoTest | Stops the audio call test. |
| StartLastmileProbeTest | Starts the last mile network probe test. |
| StopLastmileProbeTest | Stops the last mile network probe test. |
| OnLastmileQuality | Reports the last-mile network quality of the local user. |
| OnLastmileProbeResult | Reports the last mile network probe result. |
| QueryDeviceScore | Queries device score. |
| SetCloudProxy | Sets up cloud proxy service. |
| SetParameters | Provides technical preview functionalities or special customizations by configuring the SDK with JSON options. |
| GetCallId | Retrieves the call ID. |
| GetCallIdEx | Gets the call ID with the connection ID. |
| IsFeatureAvailableOnDevice | Checks whether the device supports the specified advanced feature. |
| Rate | Allows a user to rate a call after the call ends. |
| Complain | Allows a user to complain about the call quality after a call ends. |
| GetConnectionState | Gets the current connection state of the SDK. |
| GetConnectionStateEx | Gets the current connection state of the SDK. |
| GetVersion | Gets the SDK version. |
| GetErrorDescription | Gets the warning or error description. |
| GetNetworkType | Gets the type of the local network connection. |
| GetNtpWallTimeInMs | Gets the current NTP (Network Time Protocol) time. |
| EnableEncryption | Enables or disables the built-in encryption. |
| EnableEncryptionEx | Enables or disables the built-in encryption. |
| SendCustomReportMessage | Reports customized messages. |
| SendCustomReportMessageEx | Agora supports reporting and analyzing customized messages. |
| SetRemoteSubscribeFallbackOption | Sets the fallback option for the subscribed video stream based on the network conditions. |
| OnRemoteSubscribeFallbackToAudioOnly | Occurs when the remote media stream falls back to the audio-only stream due to poor network conditions or switches back to the video stream after the network conditions improve. |
| OnEncryptionError | Reports the built-in encryption errors. |
| OnProxyConnected | Reports the proxy connection state. |
| OnNetworkQuality | Reports the last mile network quality of each user in the channel. |
| OnRtcStats | Reports the statistics about the current call. |
| OnPermissionError | Occurs when the SDK cannot get the device permission. |