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 IRtcEngineEx object. |
| initialize | Initializes IRtcEngine. |
| release | Releases the IRtcEngine instance. |
| addListener | Adds one IRtcEngineEvent listener. |
| removeListener | Removes the specified IRtcEngineEvent listener. |
| removeAllListeners | Removes all listeners for the specified event. |
| getMediaEngine | Gets one IMediaEngine object. |
Channel related
| Method / Callback | Description |
|---|---|
| setChannelProfile | Sets the channel profile. |
| joinChannel | 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 | Sets channel options and leaves the channel. |
| leaveChannelEx | Sets channel options and leaves the channel. |
| preloadChannel | Preloads a channel with token, channelId, and uid. |
| preloadChannelWithUserAccount | Preloads a channel with token, channelId, and userAccount. |
| updatePreloadChannelToken | Updates the wildcard token for preloading channels. |
| renewToken | Renews the token. |
| setClientRole | Set the user role and the audience latency level in a live streaming scenario. |
| onJoinChannelSuccess | Occurs when a user joins a channel. |
| onRejoinChannelSuccess | Occurs when a user rejoins the channel. |
| onClientRoleChanged | Occurs when the user role or the audience latency level changes. |
| onClientRoleChangeFailed | Occurs when switching a user role fails. |
| onLeaveChannel | Occurs when a user leaves a channel. |
| onUserJoined | Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins the channel. |
| onUserOffline | Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) leaves the channel. |
| onNetworkTypeChanged | Occurs when the local network type changes. |
| onUplinkNetworkInfoUpdated | Occurs when the uplink network information changes. |
| onConnectionLost | Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted. |
| onConnectionStateChanged | Occurs when the network connection state changes. |
| onRequestToken | Occurs when the token expires. |
| onTokenPrivilegeWillExpire | Occurs when the token expires in 30 seconds. |
| onError | Reports an error during SDK runtime. |
Publish and subscription
| Method / Callback | Description |
|---|---|
| muteLocalAudioStream | Stops or resumes publishing the local audio stream. |
| muteLocalAudioStreamEx | Stops or resumes publishing the local audio stream. |
| muteRemoteAudioStream | Stops or resumes subscribing to the audio stream of a specified user. |
| muteRemoteAudioStreamEx | Stops or resumes receiving the audio stream of a specified user. |
| muteAllRemoteAudioStreams | Stops or resumes subscribing to the audio streams of all remote users. |
| muteAllRemoteAudioStreamsEx | Stops or resumes subscribing to the audio streams of all remote users. |
| muteLocalVideoStream | Stops or resumes publishing the local video stream. |
| muteLocalVideoStreamEx | Stops or resumes publishing the local video stream. |
| muteRemoteVideoStream | Stops or resumes subscribing to the video stream of a specified user. |
| muteRemoteVideoStreamEx | Stops or resumes receiving the video stream of a specified user. |
| muteAllRemoteVideoStreams | Stops or resumes subscribing to the video streams of all remote users. |
| muteAllRemoteVideoStreamsEx | Stops or resumes subscribing to the video streams of all remote users. |
| 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 | 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 | Sets the audio profile and audio scenario. |
| setAudioScenario | Sets audio scenarios. |
| 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. |
| 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. |
| 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 | Enables the local video preview and specifies the video source for the preview. |
| stopPreview | Stops the local video preview. |
| onLocalVideoStateChanged | Occurs when the local video stream state changes. |
| onLocalVideoStats | Reports the statistics of the local video stream. |
| onFirstLocalVideoFramePublished | Occurs when the first video frame is published. |
| onVideoPublishStateChanged | Occurs when the video publishing state changes. |
| onVideoSizeChanged | Occurs when the video size or rotation of a specified user changes. |
| onRemoteVideoStateChanged | Occurs when the remote video stream state changes. |
| onRemoteVideoStats | Reports the statistics of the video stream sent by each remote users. |
| onFirstLocalVideoFrame | Occurs when the first local video frame is displayed on the local video view. |
| onFirstRemoteVideoFrame | Occurs when the renderer receives the first frame of the remote video. |
| onFirstRemoteVideoDecoded | Occurs when the first remote video frame is received and decoded. |
| onUserMuteVideo | Occurs when a remote user stops or resumes publishing the video stream. |
| onUserEnableVideo | Occurs when a remote user enables or disables the video module. |
Video capture
| Method / Callback | Description |
|---|---|
| enableLocalVideo | Enables/Disables the local video capture. |
| startCameraCapture | Starts camera capture. |
| stopCameraCapture | Stops camera capture. |
Video pre-processing and post-processing
| Method / Callback | Description |
|---|---|
| takeSnapshot | Takes a snapshot of a video stream. |
| takeSnapshotWithConfig | Takes a screenshot of the video at the specified observation point. |
| takeSnapshotEx | Takes a snapshot of a video stream using connection ID. |
| takeSnapshotWithConfigEx | Gets a video screenshot of the specified observation point using the connection ID. |
| enableVirtualBackground | Enables/Disables the virtual background. |
| startLocalVideoTranscoder | Starts the local video mixing. |
| stopLocalVideoTranscoder | Stops the local video mixing. |
| updateLocalTranscoderConfiguration | Updates the local video mixing configuration. |
| onLocalVideoTranscoderError | Occurs when there's an error during the local video mixing. |
| enableVideoImageSource | Sets whether to replace the current video feeds with images when publishing video streams. |
| setBeautyEffectOptions | Sets the image enhancement options. |
| setColorEnhanceOptions | Sets color enhancement. |
| setLowlightEnhanceOptions | Sets low-light enhancement. |
| setVideoDenoiserOptions | Sets video noise reduction. |
| setFilterEffectOptions | Sets the filter effect options and specifies the media source. |
| isCameraCenterStageSupported | Check if the camera supports portrait center stage. (For macOS only) |
| enableCameraCenterStage | Enables or disables portrait center stage. (For macOS only) |
| onSnapshotTaken | Reports the result of taking a video snapshot. |
| addVideoWatermark | Adds a watermark image to the local video. |
| addVideoWatermarkEx | Adds a watermark image to the local video. |
| clearVideoWatermarks | Removes the watermark image from the video stream. |
| clearVideoWatermarkEx | Removes the watermark image from the video stream. |
| 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 |
|---|---|
| destroyRendererByConfig | Destroys multiple video renderer objects at one time. |
| destroyRendererByView | Destroys a video renderer object. |
| setRenderMode | Sets the render mode of the media player. |
| setLocalRenderMode | Updates the display mode of the local video view. |
| setRemoteRenderMode | Updates the display mode of the video view of a remote user. |
| setRemoteRenderModeEx | Sets the video display mode of a specified remote user. |
| setLocalRenderTargetFps | Sets the maximum frame rate for rendering local video. |
| setRemoteRenderTargetFps | Sets the maximum frame rate for rendering remote video. |
| setView | Sets the view. |
| setupLocalVideo | Initializes the local video view. |
| setupRemoteVideo | Initializes the video view of a remote user. |
| setupRemoteVideoEx | Initializes the video view of a remote user. |
| enableInstantMediaRendering | Enables audio and video frame instant rendering. |
| startMediaRenderingTracing | Enables tracing the video frame rendering process. |
| startMediaRenderingTracingEx | Enables tracing the video frame rendering process. |
| onVideoRenderingTracingResult | Video frame rendering event callback. |
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. |
| pushVideoFrame | Pushes the external raw video frame to the SDK through video tracks. |
Music file playback
| Method / Callback | Description |
|---|---|
| startAudioMixing | Starts playing the music file. |
| stopAudioMixing | Stops playing the music file. |
| pauseAudioMixing | Pauses playing and mixing the music file. |
| resumeAudioMixing | Resumes playing and mixing the music file. |
| adjustAudioMixingVolume | Adjusts the volume during audio mixing. |
| adjustAudioMixingPlayoutVolume | Adjusts the volume of audio mixing for local playback. |
| adjustAudioMixingPublishVolume | Adjusts the volume of audio mixing for publishing. |
| getAudioMixingPlayoutVolume | Retrieves the audio mixing volume for local playback. |
| getAudioMixingPublishVolume | Retrieves the audio mixing volume for publishing. |
| setAudioMixingPlaybackSpeed | Sets the playback speed of the current audio file. |
| getAudioMixingDuration | Retrieves the duration (ms) of the music file. |
| getAudioMixingCurrentPosition | Retrieves the playback position (ms) of the music file. |
| setAudioMixingPitch | Sets the pitch of the local music file. |
| setAudioMixingPosition | Sets the audio mixing position. |
| setAudioMixingDualMonoMode | Sets the channel mode of the current audio file. |
| getAudioTrackCount | Gets the index of audio tracks of the current music file. |
| selectAudioTrack | Selects the audio track used during playback. |
| selectMultiAudioTrack | Selects the audio tracks that you want to play on your local device and publish to the channel respectively. |
| onAudioMixingStateChanged | Occurs when the playback state of the music file changes. |
| onAudioMixingPositionChanged | Reports the playback progress of a music file. |
Audio effect file playback
| Method / Callback | Description |
|---|---|
| getEffectsVolume | Retrieves the volume of the audio effects. |
| setEffectsVolume | Sets the volume of the audio effects. |
| getVolumeOfEffect | Gets the volume of a specified audio effect file. |
| setVolumeOfEffect | Gets the volume of a specified audio effect file. |
| preloadEffect | Preloads a specified audio effect file into the memory. |
| playEffect | Plays the specified local or online audio effect file. |
| playAllEffects | Plays all audio effect files. |
| pauseEffect | Pauses a specified audio effect file. |
| pauseAllEffects | Pauses all audio effects. |
| resumeEffect | Resumes playing a specified audio effect. |
| resumeAllEffects | Resumes playing all audio effect files. |
| stopEffect | Stops playing a specified audio effect. |
| stopAllEffects | Stops playing all audio effects. |
| unloadEffect | Releases a specified preloaded audio effect from the memory. |
| unloadAllEffects | Releases a specified preloaded audio effect from the memory. |
| getEffectDuration | Retrieves the duration of the audio effect file. |
| getEffectCurrentPosition | Retrieves the playback position of the audio effect file. |
| setEffectPosition | Sets the playback position of an audio effect file. |
| onAudioEffectFinished | Occurs when the playback of the local music file finishes. |
Virtual metronome
| Method / Callback | Description |
|---|---|
| startRhythmPlayer | Enables the virtual metronome. |
| stopRhythmPlayer | Disables the virtual metronome. |
| configRhythmPlayer | Configures the virtual metronome. |
| onRhythmPlayerStateChanged | Occurs when the state of virtual metronome changes. |
Media player
For more methods about the media player, see IMediaPlayer.
| Method / Callback | Description |
|---|---|
| createMediaPlayer | Creates a media player object. |
| getMediaPlayerCacheManager | Gets one IMediaPlayerCacheManager instance. |
| 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. |
| addListener | Adds one IMediaPlayerEvent listener. |
| removeAllListeners | Removes all listeners for the specified event. |
| removeListener | Removes the specified IMediaPlayerEvent listener. |
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 | Creates a data stream. |
| createDataStreamEx | Creates a data stream. |
| sendStreamMessage | Sends data stream messages. |
| onStreamMessage | Occurs when the local user receives the data stream from the remote user. |
| onStreamMessageError | Occurs when the local user does not receive the data stream from the remote user. |
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. |
Video Device Management
| Method / Callback | Description |
|---|---|
| setCameraCapturerConfiguration | Sets the camera capture configuration. |
| 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. |
| enumerateRecordingDevices | Enumerates the audio capture devices. |
| followSystemPlaybackDevice | Sets the audio playback device used by the SDK to follow the system default audio playback device. |
| followSystemRecordingDevice | Sets the audio recording device used by the SDK to follow the system default audio recording device. |
| getAudioDeviceManager | Gets the IAudioDeviceManager object to manage audio devices. (For Windows only) |
| getPlaybackDefaultDevice | Gets the default audio playback device. (For Windows and macOS only) |
| getRecordingDefaultDevice | Gets the default audio capture device. (For Windows and macOS only) |
| setPlaybackDevice | Sets the audio playback device. |
| getPlaybackDevice | Retrieves the audio playback device associated with the device ID. |
| getPlaybackDeviceInfo | Retrieves the information of the audio playback device. |
| setLoopbackDevice | Sets the loopback device. |
| getLoopbackDevice | Gets the current loopback device. |
| followSystemLoopbackDevice | Sets whether the loopback device follows the system default playback device. |
| setPlaybackDeviceVolume | Sets the volume of the audio playback device. (For Windows only) |
| setRecordingDevice | Sets the audio capture device. |
| getRecordingDevice | Gets the current audio recording device. |
| getRecordingDeviceInfo | Retrieves the information of the audio recording device. |
| setRecordingDeviceVolume | Sets the volume of the audio capture device. |
| 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. |
| stopAudioDeviceLoopbackTest | Stops the audio device loopback test. |
| release | Releases all the resources occupied by the IAudioDeviceManager object. (For Windows only) |
| onAudioDeviceStateChanged | Occurs when the audio device state changes. |
| onAudioDeviceVolumeChanged | Reports the volume change of the audio device or app. |
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. |
| setParameters | Provides technical preview functionalities or special customizations by configuring the SDK with JSON options. |
| getCallId | Retrieves the call ID. |
| getCallIdEx | Gets the call ID with the connection ID. |
| isFeatureAvailableOnDevice | Checks whether the device supports the specified advanced feature. |
| rate | Allows a user to rate a call after the call ends. |
| complain | Allows a user to complain about the call quality after a call ends. |
| getConnectionState | Gets the current connection state of the SDK. |
| getConnectionStateEx | Gets the current connection state of the SDK. |
| getVersion | Gets the SDK version. |
| getErrorDescription | Gets the warning or error description. |
| getNativeHandle | Gets the C++ handle of the Native SDK. |
| registerEventHandler | Adds event handlers |
| unregisterEventHandler | Removes the specified callback events. |
| 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. |