Client-Side APIs

Products / Plugins
Platform / Framework
Language

Function Overview

Update Time:2021-09-10 01:39

ZEGO Express SDKs provide rich APIs for you to quickly build audio/video calling and live streaming capabilities into your applications based on ZEGO's cloud live streaming platform. With a powerful audio/video processing engine and a global real-time network, the platform is providing high-quality and reliable cloud audio/video streaming services to businesses around the world.

ZEGO Express SDKs are available for all major platforms, including Android, iOS, Mac, Windows, and Web.

Method Description
createEngine Creates a singleton instance of ZegoExpressEngine.
destroyEngine Destroys the singleton instance of ZegoExpressEngine asynchronously.
getEngine Returns the singleton instance of ZegoExpressEngine.
setEngineConfig Set advanced engine configuration.
setLogConfig Set log configuration.
setRoomMode Set room mode.
getVersion Gets the SDK's version number.
setApiCalledCallback Set method execution result callback.
setEventHandler Sets up the event notification callbacks that need to be handled. If the eventHandler is set to [null], all the callbacks set previously will be cleared.
uploadLog Uploads logs to the ZEGO server.
uploadLog Uploads logs to the ZEGO server.
callExperimentalAPI Call the RTC experimental API.
setDummyCaptureImagePath Set the path of the static picture would be published when the camera is closed.
onDebugError The callback for obtaining debugging error information.
onApiCalledResult Method execution result callback
onEngineStateUpdate The callback triggered when the audio/video engine state changes.

Room functions

Method Description
loginRoom Logs in to a room. You must log in to a room before publishing or playing streams.
loginRoom Logs in to a room with advanced room configurations. You must log in to a room before publishing or playing streams.
logoutRoom Logs out of a room.
logoutRoom Logs out of a room.
switchRoom Switch the room.
switchRoom Switch the room with advanced room configurations.
renewToken Renew token.
setRoomExtraInfo Set room extra information.
onRoomStateUpdate The callback triggered when the room connection state changes.
onRoomUserUpdate The callback triggered when the number of other users in the room increases or decreases.
onRoomOnlineUserCountUpdate The callback triggered every 30 seconds to report the current number of online users.
onRoomStreamUpdate The callback triggered when the number of streams published by the other users in the same room increases or decreases.
onRoomStreamExtraInfoUpdate The callback triggered when there is an update on the extra information of the streams published by other users in the same room.
onRoomExtraInfoUpdate The callback triggered when there is an update on the extra information of the room.
onRoomTokenWillExpire Callback notification that room Token authentication is about to expire.

Stream Publishing Functions

Method Description
startPublishingStream Starts publishing a stream.
startPublishingStream Starts publishing a stream (for the specified channel). You can call this function to publish a second stream.
startPublishingStream Starts publishing a stream. Support multi-room mode.
stopPublishingStream Stops publishing a stream.
stopPublishingStream Stops publishing a stream (for the specified channel).
setStreamExtraInfo Sets the extra information of the stream being published.
setStreamExtraInfo Sets the extra information of the stream being published for the specified publish channel.
startPreview Starts/Updates the local video preview.
startPreview Starts/Updates the local video preview (for the specified channel).
stopPreview Stops the local video preview.
stopPreview Stops the local video preview (for the specified channel).
setVideoConfig Sets up the video configurations.
setVideoConfig Sets up the video configurations (for the specified channel).
getVideoConfig Gets the current video configurations.
getVideoConfig Gets the current video configurations (for the specified channel).
setVideoMirrorMode Sets the video mirroring mode.
setVideoMirrorMode Sets the video mirroring mode (for the specified channel).
setAppOrientation Sets the video orientation.
setAppOrientation Sets the video orientation (for the specified channel).
setAudioConfig Sets up the audio configurations.
setAudioConfig Sets up the audio configurations for the specified publish channel.
getAudioConfig Gets the current audio configurations.
getAudioConfig Gets the current audio configurations from the specified publish channel.
setPublishStreamEncryptionKey Set encryption key for the publishing stream.
setPublishStreamEncryptionKey Set encryption key for the publishing stream for the specified publish channel.
takePublishStreamSnapshot Take a snapshot of the publishing stream.
takePublishStreamSnapshot Take a snapshot of the publishing stream for the specified publish channel.
mutePublishStreamAudio Stops or resumes sending the audio part of a stream.
mutePublishStreamAudio Stops or resumes sending the audio part of a stream for the specified channel.
mutePublishStreamVideo Stops or resumes sending the video part of a stream.
mutePublishStreamVideo Stops or resumes sending the video part of a stream for the specified channel.
enableTrafficControl Enables or disables traffic control.
enableTrafficControl Enables or disables the traffic control for the specified publish channel.
setMinVideoBitrateForTrafficControl Set the minimum video bitrate threshold for traffic control.
setMinVideoBitrateForTrafficControl Sets the minimum video bitrate for traffic control for the specified publish channel.
setTrafficControlFocusOn Set the factors of concern that trigger traffic control.
setTrafficControlFocusOn Set the factors of concern that trigger traffic control for the specified publish channel.
setCaptureVolume Sets the audio recording volume for stream publishing.
setAudioCaptureStereoMode Set audio capture stereo mode.
addPublishCdnUrl Adds a target CDN URL to which the stream will be relayed from ZEGO RTC server.
removePublishCdnUrl Deletes the specified CDN URL, which is used for relaying streams from ZEGO RTC server to CDN.
enablePublishDirectToCDN Whether to publish streams directly from the client to CDN without passing through Zego RTC server.
enablePublishDirectToCDN Whether to publish streams directly from the client to CDN without passing through Zego RTC server (for the specified channel).
setPublishWatermark Sets up the stream watermark before stream publishing.
setPublishWatermark Sets up the stream watermark before stream publishing (for the specified channel).
setSEIConfig Set the Supplemental Enhancement Information type.
sendSEI Sends Supplemental Enhancement Information.
sendSEI Sends Supplemental Enhancement Information.
enableHardwareEncoder Enables or disables hardware encoding.
setCapturePipelineScaleMode Sets the timing of video scaling in the video capture workflow. You can choose to do video scaling right after video capture (the default value) or before encoding.
enableH265EncodeFallback Whether to enable H.265 encoding to automatically downgrade to H.264 encoding.
isVideoEncoderSupported Whether the specified video encoding type is supported.
onPublisherStateUpdate The callback triggered when the state of stream publishing changes.
onPublisherQualityUpdate Callback for current stream publishing quality.
onPublisherCapturedAudioFirstFrame The callback triggered when the first audio frame is captured.
onPublisherCapturedVideoFirstFrame The callback triggered when the first video frame is captured.
onPublisherRenderVideoFirstFrame The callback triggered when the first video frame is rendered.
onPublisherVideoSizeChanged The callback triggered when the video capture resolution changes.
onPublisherRelayCDNStateUpdate The callback triggered when the state of relayed streaming to CDN changes.
onPublisherVideoEncoderChanged The callback triggered when the video encoder changes in publishing stream.

Stream Playing Functions

Method Description
startPlayingStream Starts playing a stream from ZEGO RTC server.
startPlayingStream Starts playing a stream from ZEGO RTC server or from third-party CDN. Support multi-room mode.
stopPlayingStream Stops playing a stream.
setPlayStreamDecryptionKey Set decryption key for the playing stream.
takePlayStreamSnapshot Take a snapshot of the playing stream.
setPlayVolume Sets the stream playback volume.
setAllPlayStreamVolume Sets the all stream playback volume.
setPlayStreamVideoType Set play video stream type.
setPlayStreamBufferIntervalRange Set the adaptive adjustment interval range of the buffer for playing stream.
setPlayStreamFocusOn Set the weight of the pull stream priority.
mutePlayStreamAudio Whether the pull stream can receive the specified audio data.
mutePlayStreamVideo Whether the pull stream can receive the specified video data.
muteAllPlayStreamAudio Can the pull stream receive all audio data.
muteAllPlayStreamVideo Can the pull stream receive all video data.
enableHardwareDecoder Enables or disables hardware decoding.
enableCheckPoc Enables or disables frame order detection.
isVideoDecoderSupported Whether the specified video decoding format is supported.
onPlayerStateUpdate The callback triggered when the state of stream playing changes.
onPlayerQualityUpdate Callback for current stream playing quality.
onPlayerMediaEvent The callback triggered when a media event occurs during streaming playing.
onPlayerRecvAudioFirstFrame The callback triggered when the first audio frame is received.
onPlayerRecvVideoFirstFrame The callback triggered when the first video frame is received.
onPlayerRenderVideoFirstFrame The callback triggered when the first video frame is rendered.
onPlayerVideoSizeChanged The callback triggered when the stream playback resolution changes.
onPlayerRecvSEI The callback triggered when Supplemental Enhancement Information is received.

Instant Messaging Functions

Method Description
sendBroadcastMessage Sends a Broadcast Message.
sendBarrageMessage Sends a Barrage Message (bullet screen) to all users in the same room, without guaranteeing the delivery.
sendCustomCommand Sends a Custom Command to the specified users in the same room.
onIMRecvBroadcastMessage The callback triggered when Broadcast Messages are received.
onIMRecvBarrageMessage The callback triggered when Barrage Messages are received.
onIMRecvCustomCommand The callback triggered when a Custom Command is received.

Stream Mixing Functions

Method Description
startMixerTask Starts a stream mixing task.
stopMixerTask Stops a stream mixing task.
startAutoMixerTask Starts an auto stream mixing task.
stopAutoMixerTask Stops an auto stream mixing task.
onMixerRelayCDNStateUpdate The callback triggered when the state of relayed streaming of the mixed stream to CDN changes.
onMixerSoundLevelUpdate The callback triggered when the sound level of any input stream changes in the stream mixing process.
onAutoMixerSoundLevelUpdate The callback triggered when the sound level of any input stream changes in the auto stream mixing process.

Audio and Video Preprocessing Functions

Method Description
enableAEC Whether to enable acoustic echo cancellation (AEC).
enableHeadphoneAEC Whether to turn on acoustic echo cancellation (AEC) when using the headphone.
setAECMode Sets the acoustic echo cancellation (AEC) mode.
enableAGC Enables or disables automatic gain control (AGC).
enableANS Enables or disables active noise suppression (ANS, aka ANC).
enableTransientANS Enables or disables transient noise suppression.
setANSMode Sets the automatic noise suppression (ANS) mode.
enableAudioMixing Enables or disables audio mixing function.
setAudioMixingHandler Sets up the audio mixing event handler.
muteLocalAudioMixing Mute or resume local playback of the mixing audio.
setAudioMixingVolume Sets the audio mixing output volume for both local playback and the stream to be published.
setAudioMixingVolume Sets the audio mixing output volume for either local playback or the stream to published.
enableBeautify Enables or disables the beauty features for the main publish channel.
enableBeautify Enables or disables the beauty features for the specified publish channel.
setBeautifyOption Set beautify option.
setBeautifyOption Set beautify option.
setAudioEqualizerGain Set the sound equalizer (EQ).
setVoiceChangerPreset Setting up the voice changer via preset enumeration.
setVoiceChangerParam Setting up the specific voice changer parameters.
setReverbPreset Setting up the reverberation via preset enumeration.
setReverbAdvancedParam Setting up the specific reverberation parameters.
setReverbEchoParam Setting up the specific reverberation echo parameters.
enableVirtualStereo Enables the virtual stereo feature with publishing stream.
enablePlayStreamVirtualStereo Enables the virtual stereo feature with playing stream.
onAudioMixingCopyData Audio mixing callback.

MediaPlayer Functions

Method Description
createMediaPlayer Creates a media player instance.
destroyMediaPlayer Destroys a media player instance.
onMediaPlayerStateUpdate The callback triggered when the state of the media player changes.
onMediaPlayerNetworkEvent The callback triggered when the network status of the media player changes.
onMediaPlayerPlayingProgress The callback to report the current playback progress of the media player.
onMediaPlayerRecvSEI The callback triggered when the media player got media side info.
onVideoFrame The callback triggered when the media player throws out video frame data.
onAudioFrame The callback triggered when the media player throws out audio frame data.

AudioEffectPlayer Functions

Method Description
createAudioEffectPlayer Creates a audio effect player instance.
destroyAudioEffectPlayer Destroys a audio effect player instance.
setEventHandler set audio effect player event handler.
start Start playing audio effect.
stop Stop playing audio effect.
pause Pause playing audio effect.
resume Resume playing audio effect.
stopAll Stop playing all audio effect.
pauseAll Pause playing all audio effect.
resumeAll Resume playing all audio effect.
seekTo Set the specified playback progress.
setVolume Set volume for the audio effect. Both the local play volume and the publish volume are set.
setVolumeAll Set volume for all audio effect. Both the local play volume and the publish volume are set.
getTotalDuration Get the total progress of your media resources.
getCurrentProgress Get current playing progress.
loadResource Load audio effect resource.
unloadResource Unload audio effect resource.
getIndex Get audio effect player index.
onAudioEffectPlayStateUpdate Audio effect playback state callback.

Recording Functions

Method Description
startRecordingCapturedData Starts to record locally captured audio or video and directly save the data to a file.
stopRecordingCapturedData Stops recording locally captured audio or video.
setDataRecordEventHandler Sets up the event callback handler for data recording.
onCapturedDataRecordStateUpdate The callback triggered when the state of data recording (to a file) changes.
onCapturedDataRecordProgressUpdate The callback to report the current recording progress.

Device Management Functions

Method Description
muteMicrophone Mutes or unmutes the microphone.
isMicrophoneMuted Checks whether the microphone is muted.
muteSpeaker Mutes or unmutes the audio output speaker.
isSpeakerMuted Checks whether the audio output speaker is muted.
enableAudioCaptureDevice Enables or disables the audio capture device.
getAudioRouteType get current audio route type
setAudioRouteToSpeaker Whether to use the built-in speaker to play audio.
enableCamera Turns on/off the camera.
enableCamera Turns on/off the camera (for the specified channel).
useFrontCamera Switches to the front or the rear camera.
useFrontCamera Switches to the front or the rear camera (for the specified channel).
setCameraExposureCompensation Available since: 2.10.0Description: Set the camera exposure compensation value.Trigger: Called after turn on preview [startPreivew].
setCameraExposureCompensation Available since: 2.10.0Description: Set the camera exposure compensation value.Trigger: Called after turn on preview [startPreivew].
setCameraZoomFactor Set the camera zoom factor.
setCameraZoomFactor Set the camera zoom factor.
getCameraMaxZoomFactor Get the maximum zoom factor of the camera.
getCameraMaxZoomFactor Get the maximum zoom factor of the camera.
startSoundLevelMonitor Starts sound level monitoring.
startSoundLevelMonitor Starts sound level monitoring. Support setting the listening interval.
startSoundLevelMonitor Starts sound level monitoring. Support enable some advanced feature.
stopSoundLevelMonitor Stops sound level monitoring.
startAudioSpectrumMonitor Starts audio spectrum monitoring.
startAudioSpectrumMonitor Starts audio spectrum monitoring. Support setting the listening interval.
stopAudioSpectrumMonitor Stops audio spectrum monitoring.
enableHeadphoneMonitor Enables or disables headphone monitoring.
setHeadphoneMonitorVolume Sets the headphone monitor volume.
onCapturedSoundLevelUpdate The local captured audio sound level callback.
onCapturedSoundLevelInfoUpdate The local captured audio sound level callback.
onRemoteSoundLevelUpdate The remote playing streams audio sound level callback.
onRemoteSoundLevelInfoUpdate The remote playing streams audio sound level callback.
onCapturedAudioSpectrumUpdate The local captured audio spectrum callback.
onRemoteAudioSpectrumUpdate The remote playing streams audio spectrum callback.
onDeviceError The callback triggered when a device exception occurs.
onRemoteCameraStateUpdate The callback triggered when the state of the remote camera changes.
onRemoteMicStateUpdate The callback triggered when the state of the remote microphone changes.
onRemoteSpeakerStateUpdate The callback triggered when the state of the remote speaker changes.
onAudioRouteChange Callback for device's audio route changed.

Custom Video Capture or Rendering Functions

Method Description
enableCustomVideoRender Enables or disables custom video rendering.
setCustomVideoRenderHandler Sets up the event callback handler for custom video rendering.
enableCustomVideoCapture Enables or disables custom video capture.
enableCustomVideoCapture Enables or disables custom video capture (for the specified channel).
setCustomVideoCaptureHandler Sets the event callback handler for custom video capture.
sendCustomVideoCaptureRawData Sends the video frames (Raw Data) produced by custom video capture to the SDK.
sendCustomVideoCaptureRawData Sends the video frames (Raw Data) produced by custom video capture to the SDK (for the specified channel).
sendCustomVideoCaptureTextureData Sends the video frames (Texture Data) produced by custom video capture to the SDK.
sendCustomVideoCaptureTextureData Sends the video frames (Texture Data) produced by custom video capture to the SDK (for the specified channel).
getCustomVideoCaptureSurfaceTexture Gets the SurfaceTexture instance from main channel.
getCustomVideoCaptureSurfaceTexture Gets the SurfaceTexture instance (for the specified channel).
sendCustomVideoCaptureEncodedData Sends the video frames (Encoded Data) produced by custom video capture to the SDK.
sendCustomVideoCaptureEncodedData Sends the video frames (Encoded Data) produced by custom video capture to the SDK (for the specified channel).
setCustomVideoCaptureFillMode Sets the video fill mode of custom video capture.
setCustomVideoCaptureFillMode Sets the video fill mode of custom video capture (for the specified channel).
setCustomVideoCaptureFlipMode Sets the video flip mode of custom video capture (for the specified channel). This function takes effect only if the custom video buffer type is Texture2D.
setCustomVideoCaptureFlipMode Sets the video flip mode of custom video capture (for the specified channel). This function takes effect only if the custom video buffer type is Texture2D.
onCaptureStart The callback triggered when the SDK is ready to receive captured video data. Only those video data that are sent to the SDK after this callback is received are valid.
onCaptureStop The callback triggered when SDK stops receiving captured video data.
onEncodedDataTrafficControl SDK detects network changes and informs developers that it needs to do traffic controlIn the case of custom video capture by sending encoded data, the SDK cannot know the external encoding configuration, so the traffic control operation needs to be completed by the developer.The SDK will notify the developer of the recommended value of the video configuration according to the current network situation, and the developer needs to modify the encoder configuration by himself to ensure the smoothness of video transmissionPlease do not perform time-consuming operations in this callback. If you need to perform time-consuming operations, please switch threads
onCapturedVideoFrameRawData The callback for obtaining the locally captured video frames (Raw Data).
onRemoteVideoFrameRawData The callback for obtaining the video frames (Raw Data) of the remote stream. Different streams can be identified by streamID.
onRemoteVideoFrameEncodedData The callback for obtianing the video frames (Encoded Data) of the remote stream. Different streams can be identified by streamID.
enableCustomVideoProcessing Enables or disables custom video processing.
enableCustomVideoProcessing Enables or disables custom video processing.
setCustomVideoProcessHandler Sets up the event callback handler for custom video processing.
sendCustomVideoProcessedTextureData Send the [Texture] type video data after the pre-processing of the custom video to the SDK
sendCustomVideoProcessedTextureData Send the [Texture] type video data after the pre-processing of the custom video to the SDK (for the specified channel).
onProcessStart The SDK informs the developer that it is about to start custom video processing
onProcessStop The SDK informs the developer to stop custom video processing
getCustomVideoProcessOutputSurfaceTexture Get SurfaceTexture for output data
getCustomVideoProcessOutputSurfaceTexture Get SurfaceTexture for output data (for the specified channel).
onCapturedUnprocessedTextureData Call back when the original video data of type [Texture] is obtained
getCustomVideoProcessInputSurfaceTexture When the developer chooses the SurfaceTexture type, the SDK needs to obtain the SurfaceTexture from the developer for inputting original video data

Custom Audio Capture or Rendering Functions

Method Description
enableCustomAudioCaptureProcessing Enable local capture custom audio processing.
enableCustomAudioRemoteProcessing Enable custom audio processing for remote playing stream.
enableCustomAudioPlaybackProcessing Enable custom audio processing for SDK playback audio data.
setCustomAudioProcessHandler Set up callback handler for custom audio processing.
startAudioDataObserver Enable audio data observering
stopAudioDataObserver Disable audio data observering
setAudioDataHandler Sets up the event callback handler for receiving audio data.
enableCustomAudioIO Enables the custom audio I/O function.
enableCustomAudioIO Enables the custom audio I/O function (for the specified channel).
sendCustomAudioCaptureAACData Sends AAC audio data produced by custom audio capture to the SDK.
sendCustomAudioCaptureAACData Sends AAC audio data produced by custom audio capture to the SDK (for the specified channel).
sendCustomAudioCapturePCMData Sends PCM audio data produced by custom audio capture to the SDK.
sendCustomAudioCapturePCMData Sends PCM audio data produced by custom audio capture to the SDK (for the specified channel).
fetchCustomAudioRenderPCMData Fetches PCM audio data of the remote stream for custom audio rendering.
onProcessCapturedAudioData Custom audio processing local captured PCM audio frame callback.
onProcessRemoteAudioData Custom audio processing remote playing stream PCM audio frame callback.
onProcessPlaybackAudioData Custom audio processing SDK playback PCM audio frame callback.
onCapturedAudioData The callback for obtaining the audio data captured by the local microphone.
onPlaybackAudioData The callback for obtaining the audio data of all the streams playback by SDK.
onMixedAudioData The callback for obtaining the mixed audio data. Such mixed auido data are generated by the SDK by mixing the audio data of all the remote playing streams and the auido data captured locally.
onPlayerAudioData The callback for obtaining the audio data of each stream.

Media Publisher Functions

Not supported currently.

Utilities Functions

Method Description
startPerformanceMonitor Starts system performance status monitoring. Support setting the listening interval.
stopPerformanceMonitor Stops system performance status monitoring.
startNetworkProbe start network probe.
stopNetworkProbe stop network probe.
startNetworkSpeedTest Start network speed test.
startNetworkSpeedTest Start network speed test. (Support to set the speed test interval)
stopNetworkSpeedTest Stop network speed test.
getNetworkTimeInfo Obtain synchronization network time information, including timestamp and maximum deviation
onPerformanceStatusUpdate The system performance status callback. (Note: Due to Android system limitations, CPU usage cannot be obtained)
onNetworkModeChanged Callback for network mode changed.
onNetworkSpeedTestError The callback triggered when error occurred when testing network speed.
onNetworkSpeedTestQualityUpdate The callback triggered when quality updated when testing network speed.
onRecvExperimentalAPI Receive custom JSON content
onNetworkQuality The network quality callback of users who are pushing and playing in the room.

RangeAudio Functions

Method Description
createRangeAudio Creates a range audio instance.
destroyRangeAudio Destroys a range audio instance.
setEventHandler set range audio event handler.
setAudioReceiveRange Set the maximum range of received audio.
updateSelfPosition Update self position and orentation.
updateAudioSource Add or update audio source position information.
enableSpatializer Turn the 3D spatial sound on or off.
enableMicrophone Turn the microphone on or off.
enableSpeaker Turn the speaker on or off.
setRangeAudioMode Set range audio mode.
setTeamID Set team ID.
onRangeAudioMicrophoneStateUpdate Range audio microphone state callback.

Deprecated APIs

Method Description
setDebugVerbose [Deprecated] Turns on/off verbose debugging and sets up the log language.
loginMultiRoom [Deprecated] Logs in multi room.
setPlayStreamVideoLayer [Deprecated] Set the selected video layer of playing stream.
enableAudioDataCallback [Deprecated] Enables the callback for receiving audio data.
setReverbParam [Deprecated] Setting up the specific reverberation parameters.
setBuiltInSpeakerOn [Deprecated] Whether to use the built-in speaker to play audio.This function has been deprecated since version 2.3.0 Please use [setAudioRouteToSpeaker] instead.
onRoomStreamUpdate [Deprecated] The callback triggered when the number of streams published by the other users in the same room increases or decreases.
onNetworkQuality [Deprecated] Callback the network quality of streams in the room.