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 |
|---|---|
| CreateAgoraRtcEngine | Creates one IRtcEngine object. |
| Initialize | Initializes IRtcEngine. |
| Dispose | Releases the IRtcEngine instance. |
Channel related
| Method / Callback | Description |
|---|---|
| SetChannelProfile | Sets the channel profile. |
| JoinChannel [1/2] | Joins a channel. |
| JoinChannel [2/2] | 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. |
| LeaveChannel [1/2] | Leaves a channel. |
| LeaveChannelEx [1/2] | Leaves a channel. |
| LeaveChannel [2/2] | Sets channel options and leaves the channel. |
| LeaveChannelEx [2/2] | 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 [1/2] | Sets the client role. |
| SetClientRole [2/2] | 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. |
| SetRemoteVideoSubscriptionOptions | Options for subscribing to remote video streams. |
| SetRemoteVideoSubscriptionOptionsEx | Options for subscribing to remote video streams. |
| 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 [1/2] | Sets the dual-stream mode on the sender side. |
| SetDualStreamMode [2/2] | 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. |
| SetAudioProfile [2/2] | Sets audio profiles. |
| 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. |
| GetLocalSpatialAudioEngine | Gets one ILocalSpatialAudioEngine object. |
| Initialize | Initializes ILocalSpatialAudioEngine. |
| Dispose | Destroys ILocalSpatialAudioEngine. |
| UpdateSelfPosition | Updates the spatial position of the local user. |
| UpdateRemotePosition | Updates the spatial position of the specified remote user. |
| RemoveRemotePosition | Removes the spatial position of the specified remote user. |
| ClearRemotePositions | Removes the spatial positions of all remote users. |
| SetHeadphoneEQParameters | Sets the low- and high-frequency parameters of the headphone equalizer. |
| SetHeadphoneEQPreset | Sets the preset headphone equalization effect. |
| StartLocalAudioMixer | Starts local audio mixing. |
| UpdateLocalAudioMixerConfiguration | Updates the configurations for mixing audio streams locally. |
| StopLocalAudioMixer | Stops the local audio mixing. |
Raw audio data
| Method / Callback | Description |
|---|---|
| RegisterAudioFrameObserver | Registers an audio frame observer object. |
| UnRegisterAudioFrameObserver | Unregisters an audio frame observer. |
| SetEarMonitoringAudioFrameParameters | Sets the format of the in-ear monitoring raw audio data. |
| SetRecordingAudioFrameParameters | Sets the format of the captured raw audio data. |
| SetPlaybackAudioFrameParameters | Sets the format of the raw audio playback data. |
| SetMixedAudioFrameParameters | Set the format of the raw audio data after mixing for audio capture and playback. |
| SetPlaybackAudioFrameBeforeMixingParameters | Sets the format of the raw audio playback data before mixing. |
| OnEarMonitoringAudioFrame | Gets the in-ear monitoring audio frame. |
| OnRecordAudioFrame | Gets the captured audio frame. |
| OnPlaybackAudioFrame | Gets the raw audio frame for playback. |
| OnPlaybackAudioFrameBeforeMixing | Retrieves the audio frame before mixing of subscribed remote users. |
| OnMixedAudioFrame | Retrieves the mixed captured and playback audio frame. |
Encoded audio data
| Method / Callback | Description |
|---|---|
| RegisterAudioEncodedFrameObserver | Registers an encoded audio observer. |
| UnRegisterAudioEncodedFrameObserver | Unregisters the encoded audio frame observer. |
| OnRecordAudioEncodedFrame | Gets the encoded audio data of the local user. |
| OnPlaybackAudioEncodedFrame | Gets the encoded audio data of all remote users. |
| OnMixedAudioEncodedFrame | Gets the mixed and encoded audio data of the local and all remote users. |
Custom audio capture and renderer
| Method / Callback | Description |
|---|---|
| CreateCustomAudioTrack | Creates a custom audio track. |
| DestroyCustomAudioTrack | Destroys the specified audio track. |
| SetExternalAudioSink | Sets the external audio sink. |
| PullAudioFrame | Pulls the remote audio data. |
| PushAudioFrame | Pushes the external audio frame. |
| AdjustCustomAudioPlayoutVolume | Adjusts the volume of the custom audio track played locally. |
| AdjustCustomAudioPublishVolume | Adjusts the volume of the custom audio track played remotely. |
| EnableCustomAudioLocalPlayback | Sets whether to enable the local playback of external audio source. |
Audio spectrum
| Method / Callback | Description |
|---|---|
| RegisterAudioSpectrumObserver | Register an audio spectrum observer. |
| EnableAudioSpectrumMonitor | Turns on audio spectrum monitoring. |
| DisableAudioSpectrumMonitor | Disables audio spectrum monitoring. |
| UnregisterAudioSpectrumObserver | Unregisters the audio spectrum observer. |
| OnLocalAudioSpectrum | Gets the statistics of a local audio spectrum. |
| OnRemoteAudioSpectrum | Gets the remote audio spectrum. |
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 [1/2] | Enables the local video preview. |
| StopPreview [1/2] | Stops the local video preview. |
| StartPreview [2/2] | Enables the local video preview and specifies the video source for the preview. |
| StopPreview [2/2] | 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 |
|---|---|
| SetLocalVideoDataSourcePosition | Sets the observation position of the local video frame. |
| TakeSnapshot [1/2] | Takes a snapshot of a video stream. |
| TakeSnapshot [2/2] | Takes a screenshot of the video at the specified observation point. |
| TakeSnapshotEx [1/2] | Takes a snapshot of a video stream using connection ID. |
| TakeSnapshotEx [2/2] | 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 [1/2] | Adds a watermark image to the local video. |
| AddVideoWatermark [2/2] | 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. |
| RegisterFaceInfoObserver | Registers a facial information observer. |
| UnregisterFaceInfoObserver | Unregisters a facial information observer. |
| OnFaceInfo | Occurs when the facial information processed by speech driven extension is received. |
Video rendering
| Method / Callback | Description |
|---|---|
| SetRenderMode | Sets the render mode of the media player. |
| SetLocalRenderMode [2/2] | 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. |
| SetForUser | Sets the local or remote video display. |
| 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. |
| OnTextureSizeModify | This callback is triggered when the width and height of Texture are changed. |
| OnTranscodedStreamLayoutInfo | Occurs when the local user receives a mixed video stream carrying layout information. |
| OnVideoRenderingTracingResult | Video frame rendering event callback. |
Raw video data
| Method / Callback | Description |
|---|---|
| RegisterVideoFrameObserver | Registers a raw video frame observer object. |
| OnCaptureVideoFrame | Occurs each time the SDK receives a video frame captured by local devices. |
| OnPreEncodeVideoFrame | Occurs each time the SDK receives a video frame before encoding. |
| OnRenderVideoFrame | Occurs each time the SDK receives a video frame sent by the remote user. |
Encoded video data
| Method / Callback | Description |
|---|---|
| RegisterVideoEncodedFrameObserver | Registers a receiver object for the encoded video image. |
| UnregisterVideoEncodedFrameObserver | Unregisters a receiver object for the encoded video frame. |
| OnEncodedVideoFrameReceived | Reports that the receiver has received the to-be-decoded video frame sent by the remote end. |
Custom Video Source and Renderer
| Method / Callback | Description |
|---|---|
| CreateCustomVideoTrack | Creates a custom video track. |
| DestroyCustomVideoTrack | Destroys the specified video track. |
| SetExternalVideoSource | Configures the external video source. |
| SetExternalRemoteEglContext | Sets the EGL context for rendering remote video streams.(For Android only) |
| PushVideoFrame | Pushes the external raw video frame to the SDK through video tracks. |
Music file playback
| Method / Callback | Description |
|---|---|
| StartAudioMixing [1/2] | Starts playing the music file. |
| StartAudioMixing [2/2] | 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 [1/2] | 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 |
|---|---|
| CreateMediaPlayer | Creates a media player object. |
| GetMediaPlayerCacheManager | Gets one IMediaPlayerCacheManager instance. |
| Dispose | Releases all the resources occupied by the media player. |
| IMediaPlayer | This class provides media player functions and supports multiple instances. |
| IMediaPlayerCacheManager | This class provides methods to manage cached media files. |
| IMediaPlayerSourceObserver | Provides callbacks for media players. |
Media player cache
| Method / Callback | Description |
|---|---|
| EnableAutoRemoveCache | Sets whether to delete cached media files automatically. |
| RemoveAllCaches | Deletes all cached media files in the media player. |
| RemoveCacheByUri | Deletes a cached media file. |
| RemoveOldCache | Deletes a cached media file that is the least recently used. |
| SetCacheDir | Sets the storage path for the media files that you want to cache. |
| SetMaxCacheFileCount | Sets the maximum number of media files that can be cached. |
| SetMaxCacheFileSize | Sets the maximum size of the aggregate storage space for cached media files. |
| GetCacheDir | Gets the storage path of the cached media files. |
| GetCacheFileCount | Gets the number of media files that are cached. |
| GetMaxCacheFileCount | Gets the maximum number of media files that can be cached. |
| GetMaxCacheFileSize | Gets the maximum size of the aggregate storage space for cached media files. |
| OnPlayerCacheStats | Reports the statistics of the media file being cached. |
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. |
Pushing streams to a CDN directly
| Method / Callback | Description |
|---|---|
| StartDirectCdnStreaming | Starts pushing media streams to the CDN directly. |
| StopDirectCdnStreaming | Stops pushing media streams to the CDN directly. |
| SetDirectCdnStreamingAudioConfiguration | Sets the audio profile of the audio streams directly pushed to the CDN by the host. |
| SetDirectCdnStreamingVideoConfiguration | Sets the video profile of the media streams directly pushed to the CDN by the host. |
| OnDirectCdnStreamingStateChanged | Occurs when the CDN streaming state changes. |
| OnDirectCdnStreamingStats | Reports the CDN streaming statistics. |
Data stream
| Method / Callback | Description |
|---|---|
| CreateDataStream [1/2] | Creates a data stream. |
| CreateDataStream [2/2] | Creates a data stream. |
| CreateDataStreamEx [2/2] | 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. |
Metadata (SEI)
| Method / Callback | Description |
|---|---|
| RegisterMediaMetadataObserver | Registers the metadata observer. |
| UnregisterMediaMetadataObserver | Unregisters the specified metadata observer. |
| SetMaxMetadataSize | Sets the maximum size of the media metadata. |
| SendMetadata | Sends media metadata. |
| OnMetaData | Occurs when the media metadata is received. |
| OnMetadataReceived | Occurs when the local user receives the metadata. |
Audio route
| Method / Callback | Description |
|---|---|
| SetDefaultAudioRouteToSpeakerphone | Sets the default audio playback route. |
| SetEnableSpeakerphone | Enables/Disables the audio route to the speakerphone. |
| SetRouteInCommunicationMode | Selects the audio playback route in communication audio mode. |
| 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) |
| SetDevice | Specifies the video capture device with the device ID. (For Windows and macOS only) |
| GetDevice | Retrieves the current video capture device. (For Windows and macOS only) |
| GetVideoDeviceManager | Gets the IVideoDeviceManager object to manage video devices. |
| 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) |
| 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) |
| GetAudioDeviceManager | Gets the IAudioDeviceManager object to manage audio devices. (For Windows only) |
| GetPlaybackDefaultDevice [1/2] | Gets the default audio playback device. (For Windows and macOS only) |
| GetPlaybackDefaultDevice [2/2] | Get the system‘s default audio playback device and its type.(For macOS only) |
| GetRecordingDefaultDevice [1/2] | Gets the default audio capture device. (For Windows and macOS only) |
| GetRecordingDefaultDevice [2/2] | Gets the default audio capture device and its type.(For 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 [1/2] | Retrieves the information of the audio playback device. (For Windows and macOS only) |
| GetPlaybackDeviceInfo [2/2] | Get the information and type of the audio playback device.(For macOS only) |
| SetLoopbackDevice | Sets the loopback device. (For Windows and macOS only) |
| GetLoopbackDevice | Gets the current loopback device. (For Windows and macOS only) |
| FollowSystemLoopbackDevice | Sets whether the loopback device follows the system default playback device. (For Windows and 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 [1/2] | Retrieves the information of the audio recording device. (For Windows and macOS only) |
| GetRecordingDeviceInfo [2/2] | 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) |
| 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. |
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. |
| GetCurrentMonotonicTimeInMs | Gets the current Monotonic Time of the SDK. |
| QueryDeviceScore | Queries device score. |
| SetCloudProxy | Sets up cloud proxy service. |
| SetEnable | Sets whether to enable the video rendering. |
| SetParameters [1/2] | 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. |
| GetNativeHandler | Gets the C++ handle of the Native SDK. |
| 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. |