API Overview

Agora provides a flexible combination of APIs deployed globally to deliver reliable real-time audio and video communication.

Initialization

API Description
CreateAgoraRtcEngine Creates an IRtcEngine object.
Initialize Initializes IRtcEngine.
InitEventHandler Adds the main callback event.
CreateAgoraRtcEngineEx Creates an IRtcEngineEx object.
Dispose Destroys the IRtcEngine object.

Channel Management

API Description
SetChannelProfile Sets the channel profile.
JoinChannel [1/2] Joins a channel.
JoinChannel [2/2] Sets media options and joins a channel.
JoinChannelEx Joins a channel.
UpdateChannelMediaOptions Updates channel media options after joining the channel.
UpdateChannelMediaOptionsEx Updates channel media options after joining the channel.
LeaveChannel [1/2] Leaves the channel.
LeaveChannel [2/2] Sets channel options and leaves the channel.
LeaveChannelEx [1/2] Leaves the channel.
LeaveChannelEx [2/2] Sets channel options and leaves the channel.
PreloadChannel Preloads a channel using token, channelId, and uid.
UpdatePreloadChannelToken Updates the wildcard token for the preloaded channel.
RenewToken Renews the Token.
SetClientRole [1/2] Sets the user role.
SetClientRole [2/2] Sets the user role and audience latency level in live streaming.
OnClientRoleChanged Callback when the user role or audience latency level is switched.
OnClientRoleChangeFailed Callback when the user role switch fails.
OnError Callback when an error occurs.
OnJoinChannelSuccess Callback when successfully joined a channel.
OnLeaveChannel Callback when leaving a channel.
OnRejoinChannelSuccess Callback when successfully rejoined a channel.
OnRenewTokenResult Callback for the result of renewToken method call.
OnRequestToken Callback when the token has expired.
OnRtcStats Callback for statistics related to the current call.
OnTokenPrivilegeWillExpire Callback when the token will expire in 30 seconds.
OnUserJoined Callback when a remote user (in communication) or host (in live broadcast) joins the current channel.
OnUserOffline Callback when a remote user (in communication) or host (in live broadcast) leaves the current channel.

Publish and Subscribe

API Description
MuteAllRemoteAudioStreams Stops or resumes subscribing to all remote users' audio streams.
MuteAllRemoteAudioStreamsEx Stops or resumes subscribing to all remote users' audio streams.
MuteAllRemoteVideoStreams Stops or resumes subscribing to all remote users' video streams.
MuteAllRemoteVideoStreamsEx Stops or resumes subscribing to all remote users' video streams.
MuteLocalAudioStream Stops or resumes publishing the local audio stream.
MuteLocalAudioStreamEx Stops or resumes publishing the local audio stream.
MuteLocalVideoStream Stops or resumes publishing the local video stream.
MuteLocalVideoStreamEx Stops or resumes publishing the local video stream.
MuteRemoteAudioStream Stops or resumes subscribing to the specified remote user's audio stream.
MuteRemoteAudioStreamEx Stops or resumes receiving the specified audio stream.
MuteRemoteVideoStream Stops or resumes subscribing to the video stream of a specified remote user.
MuteRemoteVideoStreamEx Stops or resumes receiving a specified video stream.
SetDualStreamMode [1/2] Sets the dual-stream mode on the sender.
SetDualStreamMode [2/2] Sets the dual-stream mode on the sender and configures the low-quality video stream.
SetDualStreamModeEx Sets the dual-stream mode on the sender.
SetRemoteDefaultVideoStreamType Sets the default video stream type to subscribe to.
SetRemoteVideoStreamType Sets the video stream type to subscribe to.
SetRemoteVideoStreamTypeEx Sets the video stream type to subscribe to.
SetRemoteVideoSubscriptionOptions Sets the subscription options for the remote video stream.
SetRemoteVideoSubscriptionOptionsEx Sets the subscription options for the remote video stream.
SetSubscribeAudioAllowlist Sets the audio subscription allowlist.
SetSubscribeAudioAllowlistEx Sets the audio subscription allowlist.
SetSubscribeAudioBlocklist Sets the audio subscription blocklist.
SetSubscribeAudioBlocklistEx Sets the audio subscription blocklist.
SetSubscribeVideoAllowlist Sets the video subscription allowlist.
SetSubscribeVideoAllowlistEx Sets the video subscription allowlist.
SetSubscribeVideoBlocklist Sets the video subscription blocklist.
SetSubscribeVideoBlocklistEx Sets the video subscription blocklist.
OnAudioPublishStateChanged Callback for audio publish state change.
OnAudioSubscribeStateChanged Callback for audio subscribe state change.
OnVideoSubscribeStateChanged Callback for video subscribe state change.

Audio Basic Features

API Description
AdjustPlaybackSignalVolume Adjusts the playback volume of all remote users locally.
AdjustUserPlaybackSignalVolume Adjusts the playback volume of a specified remote user locally.
AdjustUserPlaybackSignalVolumeEx Adjusts the playback volume of a specified remote user locally.
DisableAudio Disables the audio module.
EnableAudio Enables the audio module.
EnableAudioVolumeIndication Enables audio volume indication.
EnableAudioVolumeIndicationEx Enables audio volume indication.
SetAudioProfile [2/2] Sets the audio encoding profile.
SetAudioScenario Sets the audio scenario.
SetAudioSessionOperationRestriction Sets the SDK's operation permissions for the Audio Session.
OnActiveSpeaker Occurs when the most active remote speaker is detected.
OnAudioVolumeIndication Reports the audio volume indication of users.
OnFirstLocalAudioFramePublished Occurs when the first local audio frame is published.
OnLocalAudioStateChanged Callback when the local audio state changes.
OnLocalAudioStats Callback for statistics of the local audio stream during a call.
OnRemoteAudioStateChanged Callback when the remote audio stream state changes.
OnRemoteAudioStats Callback for statistics of the remote audio stream during a call.
OnRemoteAudioTransportStats Callback for transport statistics of the remote audio stream during a call.
OnUserMuteAudio Callback when a remote user (in a communication scenario) or host (in a live streaming scenario) stops or resumes sending audio stream.

Audio Capture

API Description
AdjustLoopbackSignalVolume Adjusts the volume of the signal captured by the sound card.
AdjustRecordingSignalVolume Adjusts the volume of the recorded audio signal.
EnableInEarMonitoring Enables in-ear monitoring.
EnableLocalAudio Enables or disables local audio capture.
EnableLoopbackRecording Enables loopback recording.
EnableLoopbackRecordingEx Enables loopback recording.
MuteRecordingSignal Mutes or unmutes the recording signal.
SetInEarMonitoringVolume Sets the in-ear monitoring volume.

Audio Effects

API Description
EnableVoiceAITuner Enables or disables the AI tuner feature.
SetAdvancedAudioOptions Sets advanced audio options.
SetAINSMode Enables or disables the AI noise reduction feature and sets the noise reduction mode.
SetAudioEffectParameters Sets parameters for SDK preset voice effects.
SetAudioEffectPreset Sets SDK preset voice effects.
SetLocalVoiceEqualization Sets the local voice equalization.
SetLocalVoiceFormant Sets the formant ratio to change the voice timbre.
SetLocalVoicePitch Sets the local voice pitch.
SetLocalVoiceReverb Sets the local audio reverb.
SetVoiceBeautifierParameters Sets the parameters for preset voice beautifier effects.
SetVoiceBeautifierPreset Sets the preset voice beautifier effect.
SetVoiceConversionPreset Sets a preset voice conversion effect.

Stereo

API Description
EnableSoundPositionIndication Enables/disables stereo sound for remote users.
SetRemoteVoicePosition Sets the 2D position of a remote user's voice, i.e., horizontal plane position.
SetRemoteVoicePositionEx Sets the 2D position of a remote user's voice, i.e., horizontal plane position.

Spatial Audio

API Description
Initialize Initializes ILocalSpatialAudioEngine.
ClearRemotePositions Deletes the spatial position information of all remote users.
EnableSpatialAudio Enables or disables spatial audio.
GetLocalSpatialAudioEngine Gets the ILocalSpatialAudioEngine object.
MuteAllRemoteAudioStreams Unsubscribes from or resumes all remote users' audio streams.
MuteLocalAudioStream Stops or resumes publishing the local audio stream.
MuteRemoteAudioStream Stops or resumes subscribing to the audio stream of a specified remote user.
Dispose Destroys ILocalSpatialAudioEngine.
RemoveRemotePosition Deletes the spatial position information of a specified remote user.
SetAudioRecvRange Sets the audio reception range of the local user.
SetDistanceUnit Sets the length (in meters) of one unit of distance in the game engine.
SetHeadphoneEQParameters Sets the low and high frequency parameters of the headphone equalizer.
SetHeadphoneEQPreset Sets a preset headphone equalizer effect.
SetMaxAudioRecvCount Sets the maximum number of audio streams that can be received within the audio reception range.
SetPlayerAttenuation Sets the sound attenuation property of the media player.
SetRemoteAudioAttenuation Sets the sound attenuation effect for a specified user.
SetRemoteUserSpatialAudioParams Sets the spatial audio parameters for a remote user.
SetSpatialAudioParams Enables or disables spatial audio for the media player.
SetZones Sets sound insulation zones.
UpdatePlayerPositionInfo Updates the spatial position of the media player.
UpdateRemotePosition Updates the spatial position information of a remote user.
UpdateSelfPosition Updates the spatial position of the local user.

Audio Mixer

API Description
StartLocalAudioMixer Starts local audio mixing.
StopLocalAudioMixer Stops local audio mixing.
UpdateLocalAudioMixerConfiguration Updates the configuration for local audio mixing.

Raw Audio Data

API Description
RegisterAudioFrameObserver Registers an audio frame observer object.
SetEarMonitoringAudioFrameParameters Sets the data format for the OnEarMonitoringAudioFrame callback.
SetMixedAudioFrameParameters Sets the raw audio data format after mixing the captured and playback audio.
SetPlaybackAudioFrameBeforeMixingParameters [1/2] Sets the raw audio playback data format before mixing.
SetPlaybackAudioFrameBeforeMixingParameters [2/2] Sets the raw audio playback data format before mixing.
SetPlaybackAudioFrameParameters Sets the format of the playback raw audio data.
SetRecordingAudioFrameParameters Sets the format of the recorded raw audio data.
UnRegisterAudioFrameObserver Unregisters the audio frame observer.
OnEarMonitoringAudioFrame Gets the raw audio data for ear monitoring.
OnMixedAudioFrame Retrieves the audio data after mixing captured and playback audio.
OnPlaybackAudioFrame Gets the raw audio data for playback.
OnPlaybackAudioFrameBeforeMixing Gets the audio of the subscribed remote user before mixing.
OnRecordAudioFrame Gets the raw audio data for recording.

Encoded Audio Data

API Description
RegisterAudioEncodedFrameObserver Registers an audio encoded frame observer.
UnRegisterAudioEncodedFrameObserver Unregisters the audio encoded frame observer.
OnMixedAudioEncodedFrame Retrieves the encoded audio data after mixing local and all remote users' audio.
OnPlaybackAudioEncodedFrame Retrieves the encoded audio data of all remote users.
OnRecordAudioEncodedFrame Retrieves the encoded audio data of the local user.

Custom Audio Capture and Rendering

API Description
AdjustCustomAudioPlayoutVolume Adjusts the playback volume of a custom audio capture track locally.
AdjustCustomAudioPublishVolume Adjusts the playback volume of the custom audio capture track on the remote end.
CreateCustomAudioTrack Creates a custom audio capture track.
DestroyCustomAudioTrack Destroys the specified audio track.
EnableCustomAudioLocalPlayback Sets whether to play the external audio source locally.
PullAudioFrame Pulls remote audio data.
PushAudioFrame Pushes external audio frames.
SetExternalAudioSink Sets external audio rendering.

Audio Spectrum

API Description
DisableAudioSpectrumMonitor Disables audio spectrum monitoring.
EnableAudioSpectrumMonitor Enables audio spectrum monitoring.
RegisterAudioSpectrumObserver Registers an audio spectrum observer.
UnregisterAudioSpectrumObserver Unregisters the audio spectrum observer.
OnLocalAudioSpectrum Receives local audio spectrum.
OnRemoteAudioSpectrum Receives remote audio spectrum.

Video Basic Features

API Description
DisableVideo Disables the video module.
EnableLocalVideo Enables or disables local video capture.
EnableVideo Enables the video module.
SetVideoEncoderConfiguration Sets the video encoding properties.
SetVideoEncoderConfigurationEx Sets the video encoding properties.
SetVideoScenario Sets the video application scenario.
StartPreview [1/2] Starts video preview.
StartPreview [2/2] Starts video preview and specifies the video source.
StopPreview [1/2] Stops video preview.
StopPreview [2/2] Stops video preview.
OnFirstLocalVideoFrame Callback when the first local video frame is rendered.
OnFirstLocalVideoFramePublished Callback when the first local video frame is published.
OnFirstRemoteVideoDecoded Callback when the first remote video frame is received and decoded.
OnFirstRemoteVideoFrame Callback when the renderer receives the first frame of remote video.
OnLocalVideoEvent Callback triggered when a local video event occurs.
OnLocalVideoStateChanged Callback when the local video state changes.
OnLocalVideoStats Callback for local video stream statistics.
OnRemoteVideoStateChanged Callback when the remote video state changes.
OnRemoteVideoStats Callback for remote video stream statistics during a call.
OnUserEnableVideo Callback when a remote user enables or disables the video module.
OnUserMuteVideo Callback when a remote user stops or resumes publishing the video stream.
OnVideoPublishStateChanged Callback when the video publishing state changes.
OnVideoSizeChanged Callback when the size or rotation of local or remote video changes.

Camera Capture

API Description
SetCameraStabilizationMode Sets the camera stabilization mode.
StartCameraCapture Starts video capture using the camera.
StopCameraCapture Stops video capture using the camera.

Screen Capture

API Description
GetScreenCaptureSources Gets the list of shareable screen and window objects.
QueryScreenCaptureCapability Queries the maximum supported frame rate for screen sharing on the device.
SetExternalMediaProjection Sets an external MediaProjection to capture screen video stream.
SetScreenCaptureContentHint Sets the content type for screen sharing.
SetScreenCaptureScenario Sets the screen sharing scenario.
StartScreenCapture [1/2] Starts screen capture.
StartScreenCapture [2/2] Starts screen capture and specifies the video source.
StartScreenCaptureByDisplayId Starts capturing the video stream of the specified screen.
StartScreenCaptureByWindowId Starts capturing the video stream of the specified window.
StopScreenCapture [1/2] Stops screen capture.
StopScreenCapture [2/2] Stops screen capture for the specified video source.
UpdateScreenCapture Updates the configuration parameters for screen capture.
UpdateScreenCaptureParameters Updates the configuration parameters for screen capture.
UpdateScreenCaptureRegion Updates the region for screen capture.

Snapshot

API Description
EnableContentInspect Enables/disables local snapshot upload.
EnableContentInspectEx Enables/disables local snapshot upload.
TakeSnapshot [1/2] Captures a video snapshot.
TakeSnapshot [2/2] Captures a video snapshot at a specified observation point.
TakeSnapshotEx [1/2] Captures a video snapshot using a connection ID.
TakeSnapshotEx [2/2] Captures a video snapshot at a specified observation point using a connection ID.
OnSnapshotTaken Callback for snapshot result.

Virtual Background

API Description
EnableVirtualBackground Enables/disables virtual background.

Local Video Transcoding

API Description
StartLocalVideoTranscoder Starts local video transcoding.
StopLocalVideoTranscoder Stops local video transcoding.
UpdateLocalTranscoderConfiguration Updates local video transcoding configuration.
OnLocalVideoTranscoderError Callback for local video transcoding error.

Video Enhancement

API Description
AddOrUpdateVideoEffect Adds or updates the effect for the specified video effect node and template.
CreateVideoEffectObject Creates an IVideoEffectObject video effect object.
DestroyVideoEffectObject Destroys a video effect object.
GetFaceShapeAreaOptions Gets the face shaping area options.
GetFaceShapeBeautyOptions Gets the face shaping effect options.
GetVideoEffectBoolParam Gets the boolean parameter in the video effect.
GetVideoEffectFloatParam Gets the value of the specified float parameter in the video effect.
GetVideoEffectIntParam Gets the integer parameter in the video effect.
PerformVideoEffectAction Performs an action on the specified video effect node.
RemoveVideoEffect Removes the video effect for the specified node ID.
SetBeautyEffectOptions Sets beauty effect options.
SetColorEnhanceOptions Sets the color enhancement feature.
SetFaceShapeAreaOptions Sets face shaping area options and specifies the media source.
SetFaceShapeBeautyOptions Sets face shaping effect options and specifies the media source.
SetFilterEffectOptions Sets filter effect options and specifies the media source.
SetLowlightEnhanceOptions Sets the low-light enhancement feature.
SetVideoDenoiserOptions Sets the video denoising feature.
SetVideoEffectBoolParam Sets a boolean parameter for the video effect.
SetVideoEffectFloatParam Sets a float parameter for the video effect.
SetVideoEffectIntParam setVideoEffectIntParam: Sets an integer parameter for the video effect.

Face Detection

API Description
EnableFaceDetection Enables/disables local face detection.
OnFacePositionChanged Reports the result of local face detection.

Speech Driven

API Description
RegisterFaceInfoObserver Registers a face info observer.
UnregisterFaceInfoObserver Unregisters the face info observer.
OnFaceInfo Reports the face information processed by the voice driver extension.

Center Stage

API Description
EnableCameraCenterStage Enables or disables the Center Stage feature.
IsCameraCenterStageSupported Checks whether the camera supports Center Stage.

Watermark

API Description
AddVideoWatermark [3/3] Adds a watermark image to the local video stream.
ClearVideoWatermarkEx Removes added video watermarks.
ClearVideoWatermarks Removes added video watermarks.
RemoveVideoWatermark Removes a watermark image from the local video.
RemoveVideoWatermarkEx Removes the specified watermark image from the local or remote video stream.

Image Source

API Description
EnableVideoImageSource Enables or disables placeholder image streaming.

Video Rendering

API Description
EnableInstantMediaRendering Enables accelerated audio and video frame rendering.
SetEnable Starts/stops video rendering.
SetForUser Sets local/remote video display.
SetLocalRenderMode [2/2] Updates the local view display mode.
SetLocalRenderTargetFps Sets the maximum frame rate for local video rendering.
SetLocalVideoDataSourcePosition Sets the observation position of the local video frame.
SetRemoteRenderMode Updates the remote view display mode.
SetRemoteRenderModeEx Sets the display mode of the remote view.
SetRemoteRenderTargetFps Sets the maximum frame rate for remote video rendering.
SetRenderMode Sets the rendering mode of the player view.
SetupLocalVideo Initializes the local view.
SetupRemoteVideo Initializes the remote user view.
SetupRemoteVideoEx Initializes the remote user view.
StartMediaRenderingTracing Starts video frame rendering tracing.
StartMediaRenderingTracingEx Starts video frame rendering tracing.
OnTextureSizeModify Occurs when the width or height of the Texture changes.
OnTranscodedStreamLayoutInfo Occurs when a mixed video stream with layout information is received.
OnVideoRenderingTracingResult Reports video frame rendering events.

Raw Video Data

API Description
RegisterVideoFrameObserver Registers a raw video frame observer object.
UnregisterVideoFrameObserver Unregisters the video frame observer.
OnCaptureVideoFrame Obtains video data captured by the local device.
OnPreEncodeVideoFrame Obtains local video data before encoding.
OnRenderVideoFrame Obtains video data sent by the remote user.

Encoded Video Data

API Description
RegisterVideoEncodedFrameObserver Registers a video frame receiver observer for encoded video images.
UnregisterVideoEncodedFrameObserver Unregisters the video frame receiver observer for encoded video images.
OnEncodedVideoFrameReceived Reports that the receiver has received an encoded video frame sent by a remote user.

Custom Video Capture and Rendering

API Description
CreateCustomVideoTrack Creates a custom video track.
DestroyCustomVideoTrack Destroys the specified video track.
PushVideoFrame Publishes external raw video frames to the channel through a custom video track.
SetExternalRemoteEglContext Sets the EGL context for rendering remote video streams.
SetExternalVideoSource Sets the external video source.

Audio Mixing

API Description
AdjustAudioMixingPlayoutVolume Adjusts the local playback volume of the music file.
AdjustAudioMixingPublishVolume Adjusts the remote playback volume of the music file.
AdjustAudioMixingVolume Adjusts the playback volume of the music file.
GetAudioMixingCurrentPosition Gets the playback progress of the music file.
GetAudioMixingDuration Gets the total duration of the music file.
GetAudioMixingPlayoutVolume Gets the local playback volume of the music file.
GetAudioMixingPublishVolume Gets the remote playback volume of the music file.
GetAudioTrackCount Gets the audio track index of the current music file.
PauseAudioMixing Pauses the playback of the music file.
ResumeAudioMixing Resumes the playback of the music file.
SelectAudioTrack [1/2] Specifies the audio track to play in the current music file.
SelectMultiAudioTrack Selects the audio tracks for local playback and remote sending.
SetAudioMixingDualMonoMode Sets the channel mode of the current audio file.
SetAudioMixingPitch Adjusts the pitch of the music file played locally.
SetAudioMixingPlaybackSpeed Sets the playback speed of the current music file.
SetAudioMixingPosition Sets the playback position of the music file.
StartAudioMixing [1/2] Starts playing a music file.
StartAudioMixing [2/2] Starts playing a music file.
StopAudioMixing Stops playing the music file.
OnAudioMixingPositionChanged Callback for music file playback progress.
OnAudioMixingStateChanged Callback when the playback state of the music file changes.

Audio Effect Files

API Description
GetEffectCurrentPosition Gets the playback progress of the specified sound effect file.
GetEffectDuration Gets the total duration of the specified sound effect file.
GetEffectsVolume Gets the playback volume of audio effects.
GetVolumeOfEffect Gets the playback volume of the specified audio effect.
PauseAllEffects Pauses playback of all audio effects.
PauseEffect Pauses playback of the audio effect.
PlayAllEffects Plays all audio effects.
PlayEffect Plays the specified local or online audio effect.
PlayEffectEx Plays the specified sound effect in the channel.
PreloadEffect Loads the audio effect into memory.
PreloadEffectEx Preloads the specified sound effect into the channel.
ResumeAllEffects Resumes playback of all audio effect files.
ResumeEffect Resumes playback of the specified audio effect file.
SetEffectPosition Sets the playback position of the specified audio effect file.
SetEffectsVolume Sets the playback volume of audio effect files.
SetVolumeOfEffect Sets the playback volume of the specified audio effect file.
StopAllEffects Stops playback of all audio effect files.
StopEffect Stops playback of the specified audio effect file.
UnloadAllEffects Releases all preloaded audio effect files from memory.
UnloadEffect Releases a preloaded audio effect file from memory.
OnAudioEffectFinished Callback when the local audio effect file finishes playing.

Rhythm Player

API Description
StopRhythmPlayer Stops the virtual metronome.

Media Player Initialization

API Description
CreateMediaPlayer Creates a media player object.
DestroyMediaPlayer Destroys the media player.
Dispose Releases all resources used by the media player.
GetMediaPlayerCacheManager Gets the IMediaPlayerCacheManager instance.
InitEventHandler Adds callback events for the media player.

Media Resource Open

API Description
Open Opens a media resource.
OpenWithMediaSource Opens a media resource and configures playback settings.
PreloadSrc Preloads a media resource.
SwitchSrc Switches the media resource.
UnloadSrc Releases the preloaded media resource.

Media Resource Playback and Rendering

API Description
SelectAudioTrack [2/2] Specifies the audio track to play in the current audio file.
SetAudioDualMonoMode Sets the channel mode of the current audio file.
SetAudioPitch Adjusts the pitch of the currently playing media resource.
SetLoopCount Sets loop playback.
SetPlaybackSpeed Sets the playback speed of the current audio file.
SetPlayerOption [1/2] Sets media player options.
setPlayerOption [2/2] Sets media player options.
SetView Sets the player rendering view.

Media Player Control

API Description
AdjustPlayoutVolume Adjusts the local playback volume.
AdjustPublishSignalVolume Adjusts the volume heard by remote users.
Mute Sets whether to mute.
Pause Pauses playback.
Play Plays the media file.
PlayPreloadedSrc Plays a preloaded media resource.
Resume Resumes playback after pause.
Seek Seeks to the specified playback position in the media file.
Stop Stops playback.
OnSeek Callback for seeking media resource data.

Media Player Information

API Description
GetAudioBufferDelay Gets the audio buffer delay when playing a media file.
GetDuration Gets the total duration of the media file.
GetId Gets the player ID.
GetMute Checks whether the currently playing media file is muted.
GetPlayoutVolume Gets the current local playback volume.
GetPlayPosition Gets the current playback position.
GetPlaySrc Gets the path of the media resource being played.
GetPublishSignalVolume Gets the volume heard by remote users.
GetState Gets the current state of the player.
GetStreamCount Gets the number of media streams in the current media file.
GetStreamInfo Gets media stream information by index.
OnPlayerPlaybackStats Reports information about the currently playing media resource.

Media Player Observer

API Description
RegisterAudioFrameObserver [1/2] Registers a PCM audio frame observer.
RegisterAudioFrameObserver [2/2] Registers an audio frame observer.
UnregisterAudioFrameObserver Unregisters the audio frame observer.
onAudioVolumeIndication Callback for media player volume indication.
OnFrame Callback for received audio frame.
OnMetaData Reports acquired media metadata.
OnPlayBufferUpdated Reports the duration the current buffered data can support playback.
OnPlayerEvent Reports player events.
OnPlayerInfoUpdated Callback when media player related information changes.
OnPlayerSourceStateChanged Reports changes in player state.
OnPlayerSrcInfoChanged Callback for video bitrate changes in media resource.
OnPositionChanged Reports the current playback progress of the media resource.
OnPreloadEvent Reports events related to preloading media resources.
OnReadData Callback to read media resource data.

Media Player Cache

API Description
EnableAutoRemoveCache Enables or disables automatic cache file removal.
GetCacheDir Gets the storage path of cached files.
GetCacheFileCount Gets the total number of currently cached media files.
GetMaxCacheFileCount Gets the maximum number of cache files set.
GetMaxCacheFileSize Gets the maximum total cache size of cached media files set.
RemoveAllCaches Deletes all cached media files in the media player.
RemoveCacheByUri Deletes the specified cached media file.
RemoveOldCache Deletes the least recently used cached media file in the media player.
SetCacheDir Sets the storage path for media files to be cached.
SetMaxCacheFileCount Sets the maximum number of cached media files.
SetMaxCacheFileSize Sets the maximum total cache size of cached media files.
OnPlayerCacheStats Reports information about the media resources currently in cache.

Cross-Channel Media Relay

API Description
PauseAllChannelMediaRelay Pauses media stream forwarding to all destination channels.
PauseAllChannelMediaRelayEx Pauses media stream forwarding to all destination channels.
ResumeAllChannelMediaRelay Resumes media stream forwarding to all destination channels.
ResumeAllChannelMediaRelayEx Resumes media stream forwarding to all destination channels.
StartOrUpdateChannelMediaRelay Starts or updates cross-channel media stream forwarding.
StartOrUpdateChannelMediaRelayEx Starts or updates cross-channel media stream forwarding.
StopChannelMediaRelay Stops cross-channel media stream forwarding. Once stopped, the host leaves all destination channels.
StopChannelMediaRelayEx Stops channel media stream relay. Once stopped, the host leaves all destination channels.
OnChannelMediaRelayStateChanged Callback when the state of channel media stream relay changes.

Media Push

API Description
StartRtmpStreamWithoutTranscoding Starts RTMP streaming without transcoding.
StartRtmpStreamWithoutTranscodingEx Starts RTMP streaming without transcoding.
StartRtmpStreamWithTranscoding Starts RTMP streaming with transcoding settings.
StartRtmpStreamWithTranscodingEx Starts RTMP streaming with transcoding settings.
StopRtmpStream Stops the RTMP stream.
StopRtmpStreamEx Stops the RTMP stream.
UpdateRtmpTranscoding Updates the RTMP transcoding configuration.
UpdateRtmpTranscodingEx Updates the RTMP transcoding configuration.
OnRtmpStreamingEvent Callback for RTMP streaming events.
OnRtmpStreamingStateChanged Callback when the RTMP streaming state changes.
OnTranscodingUpdated Callback when the RTMP transcoding settings are updated.

CDN Streaming

API Description
OnDirectCdnStreamingStateChanged Callback for CDN streaming state changes.
OnDirectCdnStreamingStats Callback for CDN streaming statistics.

Data Stream

API Description
CreateDataStream [1/2] Creates a data stream.
CreateDataStream [2/2] Creates a data stream.
CreateDataStreamEx [2/2] Creates a data stream.
SendStreamMessage Sends a data stream.
SendStreamMessageEx Sends a data stream.
OnStreamMessage Occurs when a stream message is received from a remote user.
OnStreamMessageError Occurs when a stream message from a remote user fails to be received.

Metadata (SEI)

API Description
RegisterMediaMetadataObserver Registers a media metadata observer to receive or send metadata.
SendMetadata Sends media metadata.
SetMaxMetadataSize Sets the maximum size of media metadata.
UnregisterMediaMetadataObserver Unregisters the media metadata observer.
OnMetadataReceived Occurs when metadata is received on the receiving end.
OnReadyToSendMetadata Occurs when the sender is ready to send metadata.

Audio Route

API Description
IsSpeakerphoneEnabled Checks whether the speakerphone is enabled.
SetDefaultAudioRouteToSpeakerphone Sets the default audio route.
SetEnableSpeakerphone Enables or disables speakerphone playback.
SetRouteInCommunicationMode Selects the audio route in communication volume mode.
OnAudioRoutingChanged Callback when the audio routing changes.

Video Device Management

API Description
EnableMultiCamera Enables or disables multi-camera capture.
EnumerateVideoDevices Gets a list of all video devices on the system.
GetCameraMaxZoomFactor Gets the maximum zoom factor supported by the camera.
GetCapability Gets detailed video frame information for the specified video format of the video capture device.
GetDevice Gets the currently used video capture device.
GetVideoDeviceManager Gets the IVideoDeviceManager object for managing video devices.
IsCameraAutoExposureFaceModeSupported Checks whether the device supports auto exposure.
IsCameraAutoFocusFaceModeSupported Checks whether the device supports face auto focus.
IsCameraExposurePositionSupported Checks whether the device supports manual exposure.
IsCameraExposureSupported Checks whether the current camera supports exposure adjustment.
IsCameraFaceDetectSupported Checks whether the device camera supports face detection.
IsCameraFocusSupported Checks whether the device supports manual focus.
IsCameraTorchSupported Checks whether the device supports torch mode.
IsCameraZoomSupported Checks whether the device supports camera zoom.
NumberOfCapabilities Gets the number of video formats supported by the specified video capture device.
QueryCameraFocalLengthCapability Queries the focal length capabilities supported by the camera.
QueryCodecCapability Queries the video codec capabilities supported by the SDK.
SetCameraAutoExposureFaceModeEnabled Enables or disables the auto exposure feature.
SetCameraAutoFocusFaceModeEnabled Enables or disables face auto focus.
SetCameraCapturerConfiguration Sets the camera capture configuration.
SetCameraDeviceOrientation Sets the rotation angle of the captured video.
SetCameraExposureFactor Sets the exposure factor of the current camera.
SetCameraExposurePosition Sets the manual exposure position.
SetCameraFocusPositionInPreview Sets the manual focus position and triggers focus.
SetCameraTorchOn Sets whether to turn on the flashlight.
SetCameraZoomFactor Sets the camera zoom factor.
SetDevice Specifies the video capture device by device ID.
SwitchCamera Switches between front and rear cameras.
OnCameraExposureAreaChanged Callback when the camera exposure area changes.
OnCameraFocusAreaChanged Callback when the camera focus area changes.
OnVideoDeviceStateChanged Callback for video device state changes.

Audio Device Management

API Description
EnumeratePlaybackDevices Gets the list of all playback devices in the system.
EnumerateRecordingDevices Gets the list of all audio recording devices in the system.
FollowSystemLoopbackDevice Sets whether the loopback capture device follows the system default playback device.
FollowSystemPlaybackDevice Sets whether the audio playback device used by the SDK follows the system default audio playback device.
FollowSystemRecordingDevice Sets whether the audio recording device used by the SDK follows the system default audio recording device.
GetAudioDeviceInfo Gets audio device information.
GetAudioDeviceManager Gets the IAudioDeviceManager object to manage audio devices.
GetLoopbackDevice Gets the current loopback capture device.
GetPlaybackDefaultDevice [1/2] Gets the system default audio playback device.
GetPlaybackDefaultDevice [2/2] Gets the system default audio playback device and its type.
GetPlaybackDevice Gets the current audio playback device.
GetPlaybackDeviceInfo [1/2] Retrieves information about the audio playback device.
GetPlaybackDeviceInfo [2/2] Retrieves information about the audio playback device and its type.
GetPlaybackDeviceVolume Retrieves the volume of the playback device.
GetRecordingDefaultDevice [1/2] Retrieves the system default audio recording device.
GetRecordingDefaultDevice [2/2] Retrieves the system default audio recording device and its type.
GetRecordingDevice Retrieves the current audio recording device.
GetRecordingDeviceInfo [1/2] Retrieves information about the audio recording device.
GetRecordingDeviceInfo [2/2] Retrieves information about the audio recording device and its type.
GetRecordingDeviceMute Gets the mute status of the current recording device.
GetRecordingDeviceVolume Gets the volume of the recording device.
SetLoopbackDevice Specifies the loopback device.
SetPlaybackDevice Specifies the playback device.
SetPlaybackDeviceMute Sets the playback device to mute.
SetPlaybackDeviceVolume Sets the playback device volume.
SetRecordingDevice Specifies the recording device.
SetRecordingDeviceMute Sets the current recording device to mute.
SetRecordingDeviceVolume Sets the volume of the audio recording device.
StartAudioDeviceLoopbackTest Starts an audio device loopback test.
StartPlaybackDeviceTest Starts a playback device test.
StartRecordingDeviceTest Starts a recording device test.
StopAudioDeviceLoopbackTest Stops the audio device loopback test.
StopPlaybackDeviceTest Stops the playback device test.
StopRecordingDeviceTest Stops the recording device test.
OnAudioDeviceStateChanged Callback for audio device state changes.
OnAudioDeviceVolumeChanged Callback when the volume of an audio device or the app changes.

Extensions

API Description
EnableExtension Enables/disables an extension.
GetExtensionProperty Gets detailed information of the extension.
LoadExtensionProvider Loads an extension.
RegisterExtension Registers an extension.
SetExtensionProperty Sets the extension property.
SetExtensionProviderProperty Sets the properties of the extension provider.
OnExtensionErrorWithContext Callback for extension errors.
OnExtensionEventWithContext Callback for extension events.
OnExtensionStartedWithContext Callback when the extension is successfully enabled.
OnExtensionStoppedWithContext Callback when the extension is disabled.

Network and Others

API Description
Complain Report call quality issues.
EnableEncryption Enables or disables built-in encryption.
EnableEncryptionEx Enables or disables built-in encryption.
GetCallId Gets the call ID.
GetCallIdEx Gets the call ID using the connection ID.
GetConnectionState Gets the current network connection state.
GetConnectionStateEx Gets the current network connection state.
GetCurrentMonotonicTimeInMs Gets the current Monotonic Time of the SDK.
GetErrorDescription Gets the warning or error description.
GetNativeHandler Gets the C++ handle of the Native SDK.
GetNetworkType Gets the local network connection type.
GetNtpWallTimeInMs Gets the current NTP (Network Time Protocol) time.
GetVersion Gets the SDK version.
IsFeatureAvailableOnDevice Checks whether the device supports the specified advanced feature.
QueryDeviceScore Queries the device score level.
Rate Rates the call.
SendCustomReportMessage Sends a custom report message.
SendCustomReportMessageEx Custom data reporting and analytics service.
SetCloudProxy Sets the cloud proxy service.
SetParameters [1/2] The SDK's JSON configuration used for technical preview or custom features.
SetParameters [2/2] Configures technical preview or customized features provided by the SDK using JSON.
SetRemoteSubscribeFallbackOption Sets the fallback option for subscribed audio and video streams under poor network conditions.
StartEchoTest Starts an audio and video loop test.
StartLastmileProbeTest Starts last-mile network quality probe before a call.
StopEchoTest Stops the audio loop test.
StopLastmileProbeTest Stops the last-mile network quality probe before a call.
OnConnectionLost Callback when the network connection is lost and the SDK fails to reconnect to the server within 10 seconds.
OnConnectionStateChanged Callback when the network connection state changes.
OnEncryptionError Callback when built-in encryption fails.
OnLastmileProbeResult Callback for the last mile network probe result before a call.
OnLastmileQuality Callback for last mile network quality before joining a channel.
OnMultipathStats Callback for multipath transmission statistics.
OnNetworkQuality Callback for uplink and downlink last mile network quality of each user during a call.
OnNetworkTypeChanged Callback when the local network type changes.
OnPermissionError Callback when failing to obtain device permission.
OnPermissionGranted Callback when a permission is granted.
OnProxyConnected Callback for proxy connection status.
OnRemoteSubscribeFallbackToAudioOnly Callback when the subscribed stream falls back to audio-only or recovers to audio-video.
OnUplinkNetworkInfoUpdated Callback for uplink network information changes.