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 RtcEngine object. |
initialize | Initializes RtcEngine. |
release | Releases the RtcEngine instance. |
getMediaEngine | Gets one MediaEngine object. |
Channel related
Method / Callback | Description |
---|---|
setChannelProfile | Sets the channel profile. |
joinChannel | Joins a channel with media options. |
joinChannelEx | Joins a channel with the connection ID. |
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 | |
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. |
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. |
setAudioSessionOperationRestriction | Sets the operational permission of the SDK on the audio session. |
onAudioVolumeIndication | Reports the volume information of users. |
onActiveSpeaker | Occurs when the most active remote speaker is detected. |
onLocalAudioStateChanged | Occurs when the local audio stream state changes. |
onFirstLocalAudioFramePublished | Occurs when the first audio frame is published. |
onFirstRemoteAudioFrame | Occurs when the SDK receives the first audio frame from a specific remote user. |
onUserMuteAudio | Occurs when a remote user (in the communication profile) or a host (in the live streaming profile) stops/resumes sending the audio stream. |
onRemoteAudioStateChanged | Occurs when the remote audio state changes. |
onLocalAudioStats | Reports the statistics of the local audio stream. |
onRemoteAudioStats | Reports the transport-layer statistics of each remote audio stream. |
Audio capture
Method / Callback | Description |
---|---|
enableLocalAudio | Enables or disables the local audio capture. |
enableLoopbackRecording | Enables loopback audio capturing. |
enableLoopbackRecordingEx | Enables loopback audio capturing. |
adjustRecordingSignalVolume | Adjusts the capturing signal volume. |
adjustLoopbackSignalVolume | Adjusts the volume of the signal captured by the sound card. |
muteRecordingSignal | Whether to mute the recording signal. |
enableInEarMonitoring | Enables in-ear monitoring. |
setInEarMonitoringVolume | Sets the volume of the in-ear monitor. |
Audio pre-processing and post-processing
Method / Callback | Description |
---|---|
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 LocalSpatialAudioEngine object. |
initialize | Initializes LocalSpatialAudioEngine. |
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. |
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 audio data format for playback. |
setMixedAudioFrameParameters | Sets the audio data format reported by onMixedAudioFrame. |
setPlaybackAudioFrameBeforeMixingParameters | Sets the audio data format reported by onPlaybackAudioFrameBeforeMixing. |
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. |
startPreviewWithoutSourceType | Enables the local video preview. |
startPreview | Enables the local video preview and specifies the video source for the preview. |
stopPreview | Stops the local video preview. |
onLocalVideoStateChanged | Occurs when the local video stream state changes. |
onLocalVideoStats | Reports the statistics of the local video stream. |
onFirstLocalVideoFramePublished | Occurs when the first video frame is published. |
onVideoPublishStateChanged | Occurs when the video publishing state changes. |
onVideoSizeChanged | Occurs when the video size or rotation of a specified user changes. |
onRemoteVideoStateChanged | Occurs when the remote video stream state changes. |
onRemoteVideoStats | Reports the statistics of the video stream sent by each remote users. |
onFirstLocalVideoFrame | Occurs when the first local video frame is displayed on the local video view. |
onFirstRemoteVideoFrame | Occurs when the renderer receives the first frame of the remote video. |
onFirstRemoteVideoDecoded | Occurs when the first remote video frame is received and decoded. |
onUserMuteVideo | Occurs when a remote user stops or resumes publishing the video stream. |
onUserEnableVideo | Occurs when a remote user enables or disables the video module. |
Video capture
Method / Callback | Description |
---|---|
enableLocalVideo | Enables/Disables the local video capture. |
startCameraCapture | Starts camera capture. |
stopCameraCapture | Stops camera capture. |
setCameraStabilizationMode | Set the camera stabilization mode.(For iOS only) |
Video pre-processing and post-processing
Method / Callback | Description |
---|---|
takeSnapshot | Takes a snapshot of a video stream. |
takeSnapshotEx | Takes a snapshot of a video stream. |
enableVirtualBackground | Enables/Disables the virtual background. |
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. |
enableFaceDetection | Enables or disables face detection for the local user. |
onFacePositionChanged | Reports the face detection result of the local user. |
isCameraCenterStageSupported | Check if the camera supports portrait center stage. (For iOS and macOS only) |
enableCameraCenterStage | Enables or disables portrait center stage. (For iOS and macOS only) |
onSnapshotTaken | Reports the result of taking a video snapshot. |
addVideoWatermark | Adds a watermark image to the local video. |
addVideoWatermarkEx | Adds a watermark image to the local video. |
clearVideoWatermarks | Removes the watermark image from the video stream. |
clearVideoWatermarkEx | Removes the watermark image from the video stream. |
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 encoding
Method / Callback | Description |
---|---|
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. |
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. |
Video rendering
Method / Callback | Description |
---|---|
setRenderMode | Sets the render mode of the media player. |
setLocalRenderMode | Updates the display mode of the local video view. |
setRemoteRenderMode | Updates the display mode of the video view of a remote user. |
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. |
onTranscodedStreamLayoutInfo | Occurs when the local user receives a mixed video stream carrying layout information. |
onVideoRenderingTracingResult | Video frame rendering event callback. |
Raw video data
Method / Callback | Description |
---|---|
registerVideoFrameObserver | Registers a raw video frame observer object. |
onCaptureVideoFrame | Occurs each time the SDK receives a video frame captured by local devices. |
onPreEncodeVideoFrame | Occurs each time the SDK receives a video frame before encoding. |
onRenderVideoFrame | Occurs each time the SDK receives a video frame sent by the remote user. |
Encoded video data
Method / Callback | Description |
---|---|
registerVideoEncodedFrameObserver | Registers a receiver object for the encoded video image. |
unregisterVideoEncodedFrameObserver | Unregisters a receiver object for the encoded video frame. |
onEncodedVideoFrameReceived | Reports that the receiver has received the to-be-decoded video frame sent by the remote end. |
Custom Video Source and Renderer
Method / Callback | Description |
---|---|
createCustomVideoTrack | Creates a custom video track. |
destroyCustomVideoTrack | Destroys the specified video track. |
setExternalVideoSource | Configures the external video source. |
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 and mixing 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 | Sets the volume of a specified audio effect. |
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
Note:
This group of methods is for Android and iOS only.
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 MediaPlayer.
Method / Callback | Description |
---|---|
createMediaPlayer | Creates a media player instance. |
getMediaPlayerCacheManager | Gets one MediaPlayerCacheManager instance. |
MediaPlayer | This class provides media player functions and supports multiple instances. |
MediaPlayerCacheManager | This class provides methods to manage cached media files. |
MediaPlayerSourceObserver | Provides callbacks for media players. |
Media player cache
Method / Callback | Description |
---|---|
enableAutoRemoveCache | Sets whether to delete cached media files automatically. |
removeAllCaches | Deletes all cached media files in the media player. |
removeCacheByUri | Deletes a cached media file. |
removeOldCache | Deletes a cached media file that is the least recently used. |
setCacheDir | Sets the storage path for the media files that you want to cache. |
setMaxCacheFileCount | Sets the maximum number of media files that can be cached. |
setMaxCacheFileSize | Sets the maximum size of the aggregate storage space for cached media files. |
getCacheDir | Gets the storage path of the cached media files. |
getCacheFileCount | Gets the number of media files that are cached. |
getMaxCacheFileCount | Gets the maximum number of media files that can be cached. |
getMaxCacheFileSize | Gets the maximum size of the aggregate storage space for cached media files. |
onPlayerCacheStats | Reports the statistics of the media file being cached. |
Channel media stream relay
Method / Callback | Description |
---|---|
startOrUpdateChannelMediaRelay | Starts relaying media streams across channels or updates channels for media relay. |
startOrUpdateChannelMediaRelayEx | Starts relaying media streams across channels or updates channels for media relay. |
stopChannelMediaRelay | Stops the media stream relay. Once the relay stops, the host quits all the target channels. |
stopChannelMediaRelayEx | Stops the media stream relay. Once the relay stops, the host quits all the target channels. |
pauseAllChannelMediaRelay | Pauses the media stream relay to all target channels. |
pauseAllChannelMediaRelayEx | Pauses the media stream relay to all target channels. |
resumeAllChannelMediaRelay | Resumes the media stream relay to all target channels. |
resumeAllChannelMediaRelayEx | Resumes the media stream relay to all target channels. |
onChannelMediaRelayStateChanged | Occurs when the state of the media stream relay changes. |
Media push
Method / Callback | Description |
---|---|
startRtmpStreamWithoutTranscoding | Starts pushing media streams to a CDN without transcoding. |
startRtmpStreamWithoutTranscodingEx | Starts pushing media streams to a CDN without transcoding. |
startRtmpStreamWithTranscoding | Starts Media Push and sets the transcoding configuration. |
startRtmpStreamWithTranscodingEx | Starts Media Push and sets the transcoding configuration. |
updateRtmpTranscoding | Updates the transcoding configuration. |
updateRtmpTranscodingEx | Updates the transcoding configuration. |
stopRtmpStream | Stops pushing media streams to a CDN. |
stopRtmpStreamEx | Stops pushing media streams to a CDN. |
onRtmpStreamingEvent | Reports events during the Media Push. |
onRtmpStreamingStateChanged | Occurs when the state of Media Push changes. |
onTranscodingUpdated | Occurs when the publisher's transcoding is updated. |
Pushing streams to a CDN directly
Method / Callback | Description |
---|---|
startDirectCdnStreaming | Starts pushing media streams to the CDN directly. |
stopDirectCdnStreaming | Stops pushing media streams to the CDN directly. |
setDirectCdnStreamingAudioConfiguration | Sets the audio profile of the audio streams directly pushed to the CDN by the host. |
setDirectCdnStreamingVideoConfiguration | Sets the video profile of the media streams directly pushed to the CDN by the host. |
onDirectCdnStreamingStateChanged | Occurs when the CDN streaming state changes. |
onDirectCdnStreamingStats | Reports the CDN streaming statistics. |
Data stream
Method / Callback | Description |
---|---|
createDataStream | 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. |
Audio route
This group of method is for Android and iOS only.
Method / Callback | Description |
---|---|
setDefaultAudioRouteToSpeakerphone | Sets the default audio playback route. |
setEnableSpeakerphone | Enables/Disables the audio route to the speakerphone. |
setRouteInCommunicationMode | Selects the audio playback route in communication audio mode. |
isSpeakerphoneEnabled | Checks whether the speakerphone is enabled. |
onAudioRoutingChanged | Occurs when the local audio route changes. |
Video Device Management
Method / Callback | Description |
---|---|
enableMultiCamera | Enables or disables multi-camera capture.(For iOS only) |
switchCamera | Switches between front and rear cameras.(For Android and iOS only) |
setCameraCapturerConfiguration | Sets the camera capture configuration.(For Android and iOS only) |
isCameraZoomSupported | Checks whether the device supports camera zoom.(For Android and iOS only) |
getCameraMaxZoomFactor | Gets the maximum zoom ratio supported by the camera.(For Android and iOS only) |
setCameraZoomFactor | Sets the camera zoom factor.(For Android and iOS only) |
isCameraTorchSupported | Checks whether the device supports camera flash.(For Android and iOS only) |
setCameraTorchOn | Enables the camera flash.(For Android and iOS only) |
isCameraFaceDetectSupported | Checks whether the device camera supports face detection.(For Android and iOS only) |
isCameraFocusSupported | Check whether the device supports the manual focus function.(For Android and iOS only) |
isCameraExposureSupported | Queries whether the current camera supports adjusting exposure value.(For Android and iOS only) |
setCameraExposureFactor | Sets the camera exposure value.(For Android and iOS only) |
setCameraFocusPositionInPreview | Sets the camera manual focus position.(For Android and iOS only) |
isCameraAutoFocusFaceModeSupported | Checks whether the device supports the face auto-focus function.(For Android and iOS only) |
setCameraAutoFocusFaceModeEnabled | Enables the camera auto-face focus function.(For Android and iOS only) |
isCameraExposurePositionSupported | Checks whether the device supports manual exposure.(For Android and iOS only) |
isCameraAutoExposureFaceModeSupported | Checks whether the device supports auto exposure.(For iOS only) |
setCameraExposurePosition | Sets the camera exposure position.(For Android and iOS only) |
setCameraAutoExposureFaceModeEnabled | Sets whether to enable auto exposure.(For iOS only) |
onCameraFocusAreaChanged | Occurs when the camera focus area changes.(For Android and iOS only) |
onCameraExposureAreaChanged | Occurs when the camera exposure area changes.(For Android and iOS only) |
queryCameraFocalLengthCapability | Queries the focal length capability supported by the camera.(For Android and iOS only) |
queryCodecCapability | Queries the video codec capabilities of the SDK. |
enumerateVideoDevices | Enumerates the video devices. (For Windows and macOS only) |
setDevice | Specifies the video capture device with the device ID. (For Windows and macOS only) |
getDevice | Retrieves the current video capture device. (For Windows and macOS only) |
release | Releases all the resources occupied by the VideoDeviceManager object. (For Windows and macOS only) |
getVideoDeviceManager | Gets the VideoDeviceManager object to manage video devices. |
getCapability | Gets the detailed video frame information of the video capture device in the specified video format. (For Windows and macOS only) |
numberOfCapabilities | Gets the number of video formats supported by the specified video capture device. (For Windows and macOS only) |
setCameraDeviceOrientation | Sets the rotation angle of the captured video. (For Windows only) |
onVideoDeviceStateChanged | Occurs when the video device state changes. (For Windows and macOS only) |
Audio Device Management
Method / Callback | Description |
---|---|
startPlaybackDeviceTest | Starts the audio playback device test. |
stopPlaybackDeviceTest | Stops the audio playback device test. |
startRecordingDeviceTest | Starts the audio capturing device test. |
stopRecordingDeviceTest | Stops the audio capturing device test. |
enumeratePlaybackDevices | Enumerates the audio playback devices. (For Windows and macOS only) |
enumerateRecordingDevices | Enumerates the audio capture devices. (For Windows and macOS only) |
followSystemPlaybackDevice | Sets the audio playback device used by the SDK to follow the system default audio playback device. (For Windows and macOS only) |
followSystemRecordingDevice | Sets the audio recording device used by the SDK to follow the system default audio recording device. (For Windows and macOS only) |
getAudioDeviceManager | Gets the AudioDeviceManager 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. (For Windows and macOS only) |
getPlaybackDevice | Retrieves the audio playback device associated with the device ID. (For Windows and macOS only) |
getPlaybackDeviceInfo | Retrieves the information of the audio playback device. (For Windows and macOS only) |
setLoopbackDevice | Sets the loopback device. (For Windows and macOS only) |
getLoopbackDevice | Gets the current loopback device. (For Windows and macOS only) |
followSystemLoopbackDevice | Sets whether the loopback device follows the system default playback device. (For Windows and macOS only) |
setPlaybackDeviceVolume | Sets the volume of the audio playback device. (For Windows only) |
setRecordingDevice | Sets the audio capture device. (For Windows and macOS only) |
getRecordingDevice | Gets the current audio recording device. (For Windows and macOS only) |
getRecordingDeviceInfo | Retrieves the information of the audio recording device. (For Windows and macOS only) |
setRecordingDeviceVolume | Sets the volume of the audio capture device. (For Windows and macOS only) |
getRecordingDeviceVolume | Retrieves the volume of the audio recording device. (For Windows only) |
setPlaybackDeviceMute | Mutes the audio playback device. (For Windows only) |
getPlaybackDeviceMute | Retrieves whether the audio playback device is muted. (For Windows only) |
startAudioDeviceLoopbackTest | Starts an audio device loopback test. (For Windows and macOS only) |
stopAudioDeviceLoopbackTest | Stops the audio device loopback test. (For Windows and macOS only) |
release | Releases all the resources occupied by the AudioDeviceManager object. (For Windows only) |
onAudioDeviceStateChanged | Occurs when the audio device state changes. (For Windows and macOS only) |
onAudioDeviceVolumeChanged | Reports the volume change of the audio device or app. (For Windows and macOS only) |
getAudioDeviceInfo | Gets the audio device information.(For Android only) |
Extension
Method / Callback | Description |
---|---|
loadExtensionProvider | Loads an extension. |
registerExtension | Registers an extension. |
enableExtension | Enables or disables extensions. |
getExtensionProperty | Gets detailed information on the extensions. |
setExtensionProperty | Sets the properties of the extension. |
setExtensionProviderProperty | Sets the properties of the extension provider. |
onExtensionStarted | Occurs when the extension is enabled. |
onExtensionStopped | Occurs when the extension is disabled. |
onExtensionEvent | The event callback of the extension. |
onExtensionError | Occurs when the extension runs incorrectly. |
Network and others
Method / Callback | Description |
---|---|
startEchoTest | Starts an audio device loopback test. |
stopEchoTest | Stops the audio call test. |
startLastmileProbeTest | Starts the last mile network probe test. |
stopLastmileProbeTest | Stops the last mile network probe test. |
onLastmileQuality | Reports the last-mile network quality of the local user. |
onLastmileProbeResult | Reports the last mile network probe result. |
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. |
getAssetAbsolutePath | Obtains the actual absolute path of the Asset through the relative path of the Asset. |
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. |