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. |