Struct
ZegoAIVoiceChangerSpeakerInfo
AI voice changer speaker detail.
Declared in ZegoExpressDefines.h
Properties
id
public int idSpeaker ID.
name
public std::string nameSpeaker name.
Methods
ZegoAIVoiceChangerSpeakerInfo
ZegoAccurateSeekConfig
Precise seek configuration
Declared in ZegoExpressDefines.h
Properties
timeout
public unsigned long long timeoutThe timeout time for precise search; if not set, the SDK internal default is set to 5000 milliseconds, the effective value range is [2000, 10000], the unit is ms
Methods
ZegoAccurateSeekConfig
ZegoAudioConfig
Audio configuration.
Details
Configure audio bitrate, audio channel, audio encoding for publishing stream
Declared in ZegoExpressDefines.h
Properties
bitrate
public int bitrateAudio bitrate in kbps, default is 48 kbps. The settings before and after publishing stream can be effective
channel
public ZegoAudioChannel channelAudio channel, default is Mono. The setting only take effect before publishing stream
codecID
public ZegoAudioCodecID codecIDcodec ID, default is ZegoAudioCodecIDDefault. The setting only take effect before publishing stream
Methods
ZegoAudioConfig
public ZegoAudioConfig(ZegoAudioConfigPreset preset = ZEGO_AUDIO_CONFIG_PRESET_STANDARD_QUALITY)ZegoExpressDefines.hZegoAudioEffectPlayConfig
AudioEffectPlayer play configuration.
Declared in ZegoExpressDefines.h
Properties
playCount
public unsigned int playCountThe number of play counts. When set to 0, it will play in an infinite loop until the user invoke [stop]. The default is 1, which means it will play only once.
isPublishOut
public bool isPublishOutWhether to mix audio effects into the publishing stream, the default is false.
ZegoAudioFrameParam
Parameter object for audio frame.
Details
Including the sampling rate and channel of the audio frame
Declared in ZegoExpressDefines.h
Properties
sampleRate
channel
Methods
ZegoAudioFrameParam
public ZegoAudioFrameParam:sampleRate(ZEGO_AUDIO_SAMPLE_RATE_UNKNOWN), channel(ZEGO_AUDIO_CHANNEL_MONO)ZegoExpressDefines.hZegoAudioMixingData
audio mixing data.
Declared in ZegoExpressDefines.h
Properties
audioData
public unsigned char* audioDataAudio PCM data that needs to be mixed into the stream
audioDataLength
public unsigned int audioDataLengththe length of the audio PCM data that needs to be mixed into the stream. If this is no enough data left to mix as audioDataLength, then you can set audioDataLength = 0.
param
public ZegoAudioFrameParam paramAudio data attributes, including sample rate and number of channels. Currently supports 16k, 32k, 44.1k, 48k sampling rate, mono or stereo, 16-bit deep PCM data. Developers need to explicitly specify audio data attributes, otherwise mixing will not take effect.
SEIData
public unsigned char* SEIDataSEI data, used to transfer custom data. When audioData is null, SEIData will not be sent
SEIDataLength
public unsigned int SEIDataLengthSEI data length
ZegoAudioSourceMixConfig
Audio source mix config
Details
Used to config whether mix media player, audio effect player and captured system audio into publish stream or not when set audio source.
Declared in ZegoExpressDefines.h
Properties
mediaPlayerIndexList
public int* mediaPlayerIndexListMedia player instance index list.
mediaPlayerCount
public int mediaPlayerCountMedia player instance count.
audioEffectPlayerIndexList
public int* audioEffectPlayerIndexListAudio effect player instance index list.
audioEffectPlayerCount
public int audioEffectPlayerCountAudio effect player instance count.
enableMixSystemPlayout
public bool enableMixSystemPlayoutEnable or disable mix captured system audio into publish stream.
enableMixEnginePlayout
public bool enableMixEnginePlayoutEnable or disable mix SDK playout into publish stream.
enableMixScreenCapture
public bool enableMixScreenCaptureEnable or disable mix screen capture into publish stream, the input source cannot be set to screen capture. (only for Android and iOS)
Methods
ZegoAudioSourceMixConfig
ZegoAutoMixerTask
Auto mix stream task object.
Details
When using [StartAutoMixerTask] function to start an auto stream mixing task to the ZEGO RTC server, user need to set this parameter to configure the auto stream mixing task, including the task ID, room ID, audio configuration, output stream list, and whether to enable the sound level callback.
- Use cases: This configuration is required when an auto stream mixing task is requested to the ZEGO RTC server.
- Caution: As an argument passed when [StartAutoMixerTask] function is called.
Declared in ZegoExpressDefines.h
Properties
taskID
public std::string taskIDAuto stream mixing task id, must be unique in a room.
- Use cases: User need to set this parameter when initiating an auto stream mixing task.
- Required: Yes.
- Recommended value: Set this parameter based on requirements.
- Value range: A string up to 256 bytes.
- Caution: When starting a new auto stream mixing task, only one auto stream mixing task ID can exist in a room, that is, to ensure the uniqueness of task ID. You are advised to associate task ID with room ID. You can directly use the room ID as the task ID.Cannot include URL keywords, for example, 'http' and '?' etc, otherwise publishing stream and playing stream will fail. Only support numbers, English characters and '~', '!', '@', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '/', ''.
roomID
public std::string roomIDAuto stream mixing task id.
- Use cases: User need to set this parameter when initiating an auto stream mixing task.
- Required: Yes.
- Recommended value: Set this parameter based on requirements.
- Value range: A string up to 128 bytes.
- Caution: Only support numbers, English characters and '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''.If you need to communicate with the Web SDK, please do not use '%'.
audioConfig
public ZegoMixerAudioConfig audioConfigThe audio config of the auto mixer task.
- Use cases: If user needs special requirements for the audio config of the auto stream mixing task, such as adjusting the audio bitrate, user can set this parameter as required. Otherwise, user do not need to set this parameter.
- Required: No.
- Default value: The default audio bitrate is
48 kbps, the default audio channel isZEGO_AUDIO_CHANNEL_MONO, the default encoding ID isZEGO_AUDIO_CODEC_ID_DEFAULT, and the default multi-channel audio stream mixing mode isZEGO_AUDIO_MIX_MODE_RAW. - Recommended value: Set this parameter based on requirements.
outputList
public std::vector<ZegoMixerOutput> outputListThe output list of the auto stream mixing task, items in the list are URL or stream ID, if the item set to be URL format, only RTMP URL surpported, for example rtmp://xxxxxxxx.
- Use cases: User need to set this parameter to specify the mix stream output target when starting an auto stream mixing task.
- Required: Yes.
enableSoundLevel
public bool enableSoundLevelEnable or disable sound level callback for the task.If enabled, then the remote player can get the sound level of every stream in the inputlist by [onAutoMixerSoundLevelUpdate] callback.
- Use cases: This parameter needs to be configured if user need the sound level information of every stream when an auto stream mixing task started.
- Required: No.
- Default value:
false. - Recommended value: Set this parameter based on requirements.
streamAlignmentMode
minPlayStreamBufferLength
public int minPlayStreamBufferLengthSets the lower limit of the interval range for the adaptive adjustment of the stream playing cache of the stream mixing server. In the real-time chorus KTV scenario, slight fluctuations in the network at the push end may cause the mixed stream to freeze. At this time, when the audience pulls the mixed stream, there is a high probability of the problem of freeze. By adjusting the lower limit of the interval range for the adaptive adjustment of the stream playing cache of the stream mixing server, it can optimize the freezing problem that occurs when playing mixing streams at the player end, but it will increase the delay. It is not set by default, that is, the server uses its own configuration values. It only takes effect for the new input stream setting, and does not take effect for the input stream that has already started mixing.Value Range: [0,10000], exceeding the maximum value will result in a failure of the stream mixing request. On web platforms, this property does not take effect.
streamAlignmentVolumeControlMode
public ZegoStreamAlignmentVolumeControlMode streamAlignmentVolumeControlModeStream mixing alignment scene volume adjustment mode.
streamAlignmentBaselineStreamID
public std::string streamAlignmentBaselineStreamIDStream mixing alignment scene baseline streamID.
Methods
ZegoAutoMixerTask
public ZegoAutoMixerTask: taskID(), roomID(), audioConfig(), outputList(), enableSoundLevel(false), streamAlignmentMode(ZEGO_STREAM_ALIGNMENT_MODE_NONE), minPlayStreamBufferLength(-1), streamAlignmentVolumeControlMode(ZEGO_STREAM_ALIGNMENT_VOLUME_CONTROL_MODE_CLOSE), streamAlignmentBaselineStreamID()ZegoExpressDefines.hZegoBackgroundConfig
Background config.
Details
It is used to configure background when the object segmentation is turned on.
Declared in ZegoExpressDefines.h
Properties
processType
color
public int colorBackground color, the format is 0xRRGGBB, default is black, which is 0x000000
imageURL
public std::string imageURLBackground image URL. Support local file absolute path (file://xxx). The format supports png, jpg.
videoURL
public std::string videoURL- Caution: 1. The video will be played in a loop. 2. Support local file absolute path (file://xxx). 3. The format supports MP4, FLV, MKV, AVI. 4. The maximum resolution should not exceed 4096px, and it is recommended to be within 1920px. 5. The maximum video duration should not exceed 30 seconds, and it is recommended to be within 15 seconds. 6. The maximum video size should not exceed 50MB, and 10MB is recommended.
blurLevel
Methods
ZegoBackgroundConfig
public ZegoBackgroundConfig : processType(ZEGO_BACKGROUND_PROCESS_TYPE_TRANSPARENT),color(0),imageURL(""),videoURL(""),blurLevel(ZEGO_BACKGROUND_BLUR_LEVEL_MEDIUM)ZegoExpressDefines.hZegoBarrageMessageInfo
Barrage message info.
Details
The received object of the room barrage message, including the message content, message ID, sender, sending time
Declared in ZegoExpressDefines.h
Properties
message
public std::string messagemessage content
messageID
public std::string messageIDmessage id
sendTime
public unsigned long long sendTimeMessage send time, UNIX timestamp, in milliseconds.
fromUser
public ZegoUser fromUserMessage sender.Please do not fill in sensitive user information in this field, including but not limited to mobile phone number, ID number, passport number, real name, etc.
ZegoBlurInfo
blur info.
Details
mix stream blur padding info.
- Use cases: Set text watermark in manual stream mixing scene, such as Co-hosting.
Declared in ZegoExpressDefines.h
Properties
topPadding
public int topPadding- Required: False.
- Default value: 0.
leftPadding
public int leftPadding- Required: False.
- Default value: 0.
bottomPadding
public int bottomPaddingThe distance between the feathered edge and the bottom canvas border.
rightPadding
public int rightPadding- Required: False.
- Default value: 0.
Methods
ZegoBlurInfo
public ZegoBlurInfo:topPadding(0),leftPadding(0),bottomPadding(0),rightPadding(0)ZegoExpressDefines.hZegoBroadcastMessageInfo
Broadcast message info.
Details
The received object of the room broadcast message, including the message content, message ID, sender, sending time
Declared in ZegoExpressDefines.h
Properties
message
public std::string messagemessage content
messageID
public unsigned long long messageIDmessage id
sendTime
public unsigned long long sendTimeMessage send time, UNIX timestamp, in milliseconds.
fromUser
public ZegoUser fromUserMessage sender.Please do not fill in sensitive user information in this field, including but not limited to mobile phone number, ID number, passport number, real name, etc.
ZegoCDNConfig
CDN config object.
Details
Includes CDN URL and authentication parameter string
Declared in ZegoExpressDefines.h
Properties
url
public std::string urlCDN URL
authParam
public std::string authParamAuth param of URL. Please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored (set to nullptr or empty string).
protocol
public std::string protocolURL supported protocols, candidate values are "tcp" and "quic". If there are more than one, separate them with English commas and try them in order. Please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored (set to nullptr or empty string).
quicVersion
public std::string quicVersionQUIC version。 If [protocol] has the QUIC protocol, this information needs to be filled in. If there are multiple version numbers, separate them with commas. Please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored (set to nullptr or empty string).
httpdns
public ZegoHttpDNSType httpdnscustomized httpdns service. This feature is only supported for playing stream currently.
quicConnectMode
public int quicConnectModeQUIC establishes link mode. If the value is 1, quic 0 rtt is used preferentially to establish link. Otherwise, the link is established normally. If [protocol] has the QUIC protocol, this value takes effect.
customParams
public std::string customParamscustom param of URL. Please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored (set to nullptr or empty string).
Methods
ZegoCDNConfig
ZegoCanvas
View object.
Details
Configure view object, view Mode, background color
Declared in ZegoExpressDefines.h
Properties
view
public void * viewView object
viewMode
backgroundColor
public int backgroundColorBackground color, the format is 0xRRGGBB, default is black, which is 0x000000
alphaBlend
public bool alphaBlendIf enable alpha blend render, default is false.
rotation
public int rotationRotate the angle counterclockwise, the default is 0. The media player canvas is not supported.
mirror
public bool mirrorIf enable the view mirror, default is false. Only play stream canvas is supported, for publish stream please use [setVideoMirrorMode] interface, for media player please use [enableViewMirror] interface.
viewContext
public std::string viewContextContext of view, default is empty string. A utf8 string with a maximum length of 63 bytes or less. Generally no attention is required, it can be used for slitting rendering of mixed stream, to understand the specific use, you need to contact ZEGO technical support.
Methods
ZegoCanvas
public ZegoCanvas(void *view=nullptr, ZegoViewMode viewMode=ZEGO_VIEW_MODE_ASPECT_FIT, int backgroundColor=0x000000):view(view),viewMode(viewMode),backgroundColor(backgroundColor),alphaBlend(false),rotation(0),mirror(false)ZegoExpressDefines.hZegoColorEnhancementParams
Color enhancement params.
Declared in ZegoExpressDefines.h
Properties
intensity
public float intensitycolor enhancement intensity.
- Value range: [0,1], the larger the value, the stronger the intensity of color enhancement.
- Default value: 0.
skinToneProtectionLevel
public float skinToneProtectionLevelSkin tone protection level.
- Value range: [0,1], the larger the value, the greater the level of skin protection.
- Default value: 1.
lipColorProtectionLevel
public float lipColorProtectionLevelLip color protection level.
- Value range: [0,1], the larger the value, the greater the level of lip color protection.
- Default value: 0.
Methods
ZegoColorEnhancementParams
ZegoCopyrightedMusicConfig
CopyrightedMusic play configuration.
Declared in ZegoExpressDefines.h
Properties
user
public ZegoUser userUser object instance, configure userID, userName. that the user ID set here needs to be consistent with the user ID set when logging in to the room, otherwise the request for the copyright music background service will fail.
ZegoCopyrightedMusicGetLyricConfig
The configuration of getting lyric.
Declared in ZegoExpressDefines.h
Properties
songID
public std::string songIDthe ID of the song.
vendorID
public int vendorIDCopyright music resource song copyright provider.
Methods
ZegoCopyrightedMusicGetLyricConfig
ZegoExpressDefines.hZegoCopyrightedMusicGetSharedConfig
The configuration of getting shared resource.
Declared in ZegoExpressDefines.h
Properties
songID
public std::string songIDthe ID of the song.
vendorID
public ZegoCopyrightedMusicVendorID vendorIDCopyright music resource song copyright provider.
roomID
public std::string roomIDThe room ID, the single-room mode can not be passed, and the corresponding room ID must be passed in the multi-room mode. Indicates which room to get resources from.
Methods
ZegoCopyrightedMusicGetSharedConfig
ZegoExpressDefines.hZegoCopyrightedMusicGetSharedConfigV2
The configuration of getting shared resource.
Declared in ZegoExpressDefines.h
Properties
songID
public std::string songIDthe ID of the song.
vendorID
public int vendorIDCopyright music resource song copyright provider. Refer to the value of [ZegoCopyrightedMusicVendorID].
roomID
public std::string roomIDThe room ID, the single-room mode can not be passed, and the corresponding room ID must be passed in the multi-room mode. Indicates which room to get resources from.
resourceType
public int resourceTypeThe resource type of music.
Methods
ZegoCopyrightedMusicGetSharedConfigV2
ZegoExpressDefines.hZegoCopyrightedMusicQueryCacheConfig
The configuration of querying cache.
Declared in ZegoExpressDefines.h
Properties
songID
public std::string songIDthe ID of the song.
resourceType
resourceQualityType
public ZegoCopyrightedMusicResourceQualityType resourceQualityTypeThe resource quality type of music.
vendorID
public ZegoCopyrightedMusicVendorID vendorIDCopyright music resource song copyright provider.
Methods
ZegoCopyrightedMusicQueryCacheConfig
ZegoExpressDefines.hZegoCopyrightedMusicQueryCacheConfigV2
The configuration of querying cache.
Declared in ZegoExpressDefines.h
Properties
songID
public std::string songIDthe ID of the song.
resourceType
public int resourceTypeThe resource type of music. Refer to the value of [ZegoCopyrightedMusicResourceType].
resourceQualityType
public int resourceQualityTypeThe resource quality type of music. Refer to the value of [ZegoCopyrightedMusicResourceQualityType].
vendorID
public int vendorIDCopyright music resource song copyright provider. Refer to the value of [ZegoCopyrightedMusicVendorID].
Methods
ZegoCopyrightedMusicQueryCacheConfigV2
ZegoExpressDefines.hZegoCopyrightedMusicRequestConfig
The configuration of requesting resource.
Declared in ZegoExpressDefines.h
Properties
songID
public std::string songIDthe ID of the song.
mode
vendorID
public ZegoCopyrightedMusicVendorID vendorIDCopyright music resource song copyright provider.
roomID
public std::string roomIDThe room ID, the single-room mode can not be passed, and the corresponding room ID must be passed in the multi-room mode. Indicate in which room to order song/accompaniment/accompaniment clip/accompaniment segment.
masterID
public std::string masterIDThe master ID, which must be passed when the billing mode is billed by host. Indicate which homeowner to order song/accompaniment/accompaniment clip/accompaniment segment.
sceneID
public int sceneIDThe scene ID, indicate the actual business. For details, please consult ZEGO technical support.
Methods
ZegoCopyrightedMusicRequestConfig
ZegoExpressDefines.hZegoCopyrightedMusicRequestConfigV2
The configuration of requesting resource.
Declared in ZegoExpressDefines.h
Properties
songID
public std::string songIDthe ID of the song.
mode
public int modeVOD billing mode. Refer to the value of [ZegoCopyrightedMusicBillingMode].
vendorID
public int vendorIDCopyright music resource song copyright provider. Refer to the value of [ZegoCopyrightedMusicVendorID].
roomID
public std::string roomIDThe room ID, the single-room mode can not be passed, and the corresponding room ID must be passed in the multi-room mode. Indicate in which room to order song/accompaniment/accompaniment clip/accompaniment segment.
masterID
public std::string masterIDThe master ID, which must be passed when the billing mode is billed by host. Indicate which homeowner to order song/accompaniment/accompaniment clip/accompaniment segment.
sceneID
public int sceneIDThe scene ID, indicate the actual business. For details, please consult ZEGO technical support.
resourceType
public int resourceTypeThe resource type of music. Refer to the value of [ZegoCopyrightedMusicResourceType].
Methods
ZegoCopyrightedMusicRequestConfigV2
ZegoExpressDefines.hZegoCrossAppInfo
Cross APP playing stream configuration.
Declared in ZegoExpressDefines.h
Properties
appID
public unsigned int appIDAppID for playing streams across apps.
token
public std::string tokenThe token that needs to be set.
Methods
ZegoCrossAppInfo
ZegoCustomAudioConfig
Custom audio configuration.
Declared in ZegoExpressDefines.h
Properties
sourceType
ZegoCustomAudioProcessConfig
Customize the audio processing configuration object.
Details
Including custom audio acquisition type, sampling rate, channel number, sampling number and other parameters
Declared in ZegoExpressDefines.h
Properties
sampleRate
public ZegoAudioSampleRate sampleRateSampling rate, the sampling rate of the input data expected by the audio pre-processing module in App. If 0, the default is the SDK internal sampling rate.
channel
public ZegoAudioChannel channelNumber of sound channels, the expected number of sound channels for input data of the audio pre-processing module in App. If 0, the default is the number of internal channels in the SDK
samples
public int samplesThe number of samples required to encode a frame; if samples = 0, the SDK will use the internal sample number, and the SDK will pass the audio data to the external pre-processing module. If the samples! = 0 (the effective value of samples is between [160, 2048]), and the SDK will send audio data to the external preprocessing module that sets the length of sample number.
ZegoCustomPlayerResourceConfig
Custom play stream resource type configuration.
Details
Custom play stream resource type configuration.
Declared in ZegoExpressDefines.h
Properties
beforePublish
public ZegoResourceType beforePublishThe resource type selected by the play stream before starting the publish stream.
publishing
public ZegoResourceType publishingThe type of resource selected by the play stream in the publish stream.
afterPublish
public ZegoResourceType afterPublishThe type of resource selected by the play stream after stopping the publish stream.
Methods
ZegoCustomPlayerResourceConfig
public ZegoCustomPlayerResourceConfig: beforePublish(ZEGO_RESOURCE_TYPE_RTC), publishing(ZEGO_RESOURCE_TYPE_RTC), afterPublish(ZEGO_RESOURCE_TYPE_RTC)ZegoExpressDefines.hZegoCustomVideoCaptureConfig
Custom video capture configuration.
Details
Custom video capture, that is, the developer is responsible for collecting video data and sending the collected video data to SDK for video data encoding and publishing to the ZEGO RTC server. This feature is generally used by developers who use third-party beauty features or record game screen living. When you need to use the custom video capture function, you need to set an instance of this class as a parameter to the [enableCustomVideoCapture] function. Because when using custom video capture, SDK will no longer start the camera to capture video data. You need to collect video data from video sources by yourself.
Declared in ZegoExpressDefines.h
Properties
bufferType
ZegoCustomVideoProcessConfig
Custom video process configuration.
Declared in ZegoExpressDefines.h
Properties
bufferType
ZegoCustomVideoRenderConfig
Custom video render configuration.
Details
When you need to use the custom video render function, you need to set an instance of this class as a parameter to the [enableCustomVideoRender] function.
Declared in ZegoExpressDefines.h
Properties
bufferType
frameFormatSeries
public ZegoVideoFrameFormatSeries frameFormatSeriesCustom video rendering video frame data format。Useless when set bufferType as [EncodedData]
enableEngineRender
public bool enableEngineRenderWhether the engine also renders while customizing video rendering. The default value is [false]. Useless when set bufferType as [EncodedData]
ZegoDataRecordConfig
Record config.
Declared in ZegoExpressDefines.h
Properties
filePath
public std::string filePathThe path to save the recording file, absolute path, need to include the file name, the file name need to specify the suffix, currently supports .mp4/.flv/.aac format files, if multiple recording for the same path, will overwrite the file with the same name. The maximum length should be less than 1024 bytes.
recordType
ZegoDataRecordProgress
File recording progress.
Declared in ZegoExpressDefines.h
Properties
duration
public unsigned long long durationCurrent recording duration in milliseconds
currentFileSize
public unsigned long long currentFileSizeCurrent recording file size in byte
quality
ZegoDataRemoteRecordProgress
File recording progress.
Declared in ZegoExpressDefines.h
Properties
duration
public unsigned long long durationCurrent recording duration in milliseconds
currentFileSize
public unsigned long long currentFileSizeCurrent recording file size in byte
quality
ZegoDeviceInfo
Device Info.
Details
Including device ID and name
Declared in ZegoExpressDefines.h
Properties
deviceID
public std::string deviceIDDevice ID
deviceName
public std::string deviceNameDevice name
deviceExtraInfo
public std::string deviceExtraInfoDevice extra info, Format: key="value" key2="value2"..., use line break to separate key-value pairs, and use equal sign = to separate key and "value", and there are double quotes around the value
ZegoDummyCaptureImageParams
Dummy capture image params.
Declared in ZegoExpressDefines.h
Properties
path
public std::string pathPicture file path.
mode
Methods
ZegoDummyCaptureImageParams
ZegoDumpDataConfig
Dump data config.
Declared in ZegoExpressDefines.h
Properties
dataType
ZegoEffectsBeautyParam
Beauty configuration param.
Details
Configure the whiten, rosy, smooth, and sharpen parameters for beauty.
Declared in ZegoExpressDefines.h
Properties
whitenIntensity
public int whitenIntensityThe whiten intensity parameter, the value range is [0,100], and the default is 50.
rosyIntensity
public int rosyIntensitythe rosy intensity parameter, value range [0,100], and the default is 50.
smoothIntensity
public int smoothIntensitythe smooth intensity parameter, value range [0,100], and the default is 50.
sharpenIntensity
public int sharpenIntensitythe sharpen intensity parameter, value range [0,100], and the default is 50.
ZegoEngineConfig
Advanced engine configuration.
Declared in ZegoExpressDefines.h
Properties
logConfig
public ZegoLogConfig* logConfigLog configuration, if not set, use the default configuration. It must be set before calling [createEngine] to take effect. If it is set after [createEngine], it will take effect at the next [createEngine] after [destroyEngine].
advancedConfig
public std::unordered_map<std::string, std::string> advancedConfigOther special function switches, if not set, no special function will be used by default. Please contact ZEGO technical support before use.
Methods
ZegoEngineConfig
ZegoEngineProfile
Profile for create engine
Details
Profile for create engine
Declared in ZegoExpressDefines.h
Properties
appID
public unsigned int appIDApplication ID issued by ZEGO for developers, please apply from the ZEGO Admin Console https://console.zegocloud.com The value ranges from 0 to 4294967295.
appSign
public std::string appSignApplication signature for each AppID, please apply from the ZEGO Admin Console. Application signature is a 64 character string. Each character has a range of '0' ~ '9', 'a' ~ 'z'. AppSign 2.17.0 and later allows null or no transmission. If the token is passed empty or not passed, the token must be entered in the [ZegoRoomConfig] parameter for authentication when the [loginRoom] interface is called to login to the room.
scenario
public ZegoScenario scenarioThe room scenario. the SDK will optimize the audio and video configuration for the specified scenario to achieve the best effect in this scenario. After specifying the scenario, you can call other APIs to adjusting the audio and video configuration. Differences between scenarios and how to choose a suitable scenario, please refer to https://docs.zegocloud.com/article/14940
callbackSwitchToMainThread
public bool callbackSwitchToMainThreadonly windows and mac need callback switch to ui thread
Methods
ZegoEngineProfile
public ZegoEngineProfile:appID(0), appSign(""), callbackSwitchToMainThread(true)ZegoExpressDefines.hZegoExpLowlightEnhancementParams
Low light enhancement params.
Declared in ZegoExpressDefines.h
Properties
mode
type
Methods
ZegoExpLowlightEnhancementParams
ZegoExpressDefines.hZegoFontStyle
Font style.
Details
Font style configuration, can be used to configure font type, font size, font color, font transparency.
- Use cases: Set text watermark in manual stream mixing scene, such as Co-hosting.
Declared in ZegoExpressDefines.h
Properties
type
public ZegoFontType type- Required: False.
- Default value: Source han sans [ZegoFontTypeSourceHanSans]
size
public int size- Required: False.
- Default value: 24.
- Value range: [12,100].
color
public int color- Required: False.
- Default value: 16777215(white).
- Value range: [0,16777215].
transparency
public int transparency- Required: False.
- Default value: 0.
- Value range: [0,100], 100 is completely opaque, 0 is completely transparent.
border
public bool border- Required: False.
- Default value: False.
- Value range: True/False.
borderColor
public int borderColor- Required: False.
- Default value: 0.
- Value range: [0,16777215].
Methods
ZegoFontStyle
public ZegoFontStyle:type(ZEGO_FONT_TYPE_SOURCE_HAN_SANS),size(24),color(16777215),transparency(0),border(false),borderColor(0)ZegoExpressDefines.hZegoImageBuffer
image data content
Declared in ZegoExpressDefines.h
Properties
buffer
public unsigned char * bufferimage content in BGRA32 format.
length
public unsigned int lengthbuffer size.
width
public unsigned int widthbuffer width.
height
public unsigned int heightbuffer height.
ZegoItemParam
Item param.
Declared in ZegoExpressDefines.h
Properties
itemID
public long long itemIDItem ID.
capacity
public unsigned int capacityThe number of users allowed to bind the item.
position
createMode
Methods
ZegoItemParam
ZegoLabelInfo
Label info.
Details
Font style configuration, can be used to configure font type, font si-e, font color, font transparency.
- Use cases: Set text watermark in manual stream mixing scene, such as Co-hosting.
Declared in ZegoExpressDefines.h
Properties
text
public std::string text- Required: True.
- Value range: Maximum support for displaying 100 Chinese characters and 300 English characters.
left
public int left- Required: False.
- Default value: 0.
top
public int top- Required: False.
- Default value: 0.
font
Methods
ZegoLabelInfo
public ZegoLabelInfo(std::string text):text(text),left(0),top(0),font()ZegoExpressDefines.hZegoLayerBorderConfig
Layer border configuration.
Details
Customize the size, color, etc. of the layer border.
Declared in ZegoExpressDefines.h
Properties
width
public unsigned int widthBorder size, default value 4, the maximum value is 100.
color
public int colorBackground color, the format is 0xRRGGBB, default is green, which is 0x00FF00
Methods
ZegoLayerBorderConfig
ZegoLogConfig
Log config.
Details
This parameter is required when calling [setlogconfig] to customize log configuration.
- Use cases: This configuration is required when you need to customize the log storage path or the maximum log file size.
- Caution: None.
Declared in ZegoExpressDefines.h
Properties
logPath
public std::string logPathUsed to customize the storage path of the log file.
- Use cases: This configuration is required when you need to customize the log storage path.
- Required: False.
- Default value: The default path of each platform is different, please refer to the official website document https://docs.zegocloud.com/faq/express_sdkLog.
- Caution: Developers need to ensure read and write permissions for files under this path.
logSize
public unsigned long long logSizeUsed to customize the maximum log file size.
- Use cases: This configuration is required when you need to customize the upper limit of the log file size.
- Required: False.
- Default value: 5MB (5 * 1024 * 1024 Bytes).
- Value range: Minimum 1MB (1 * 1024 * 1024 Bytes), maximum 100M (100 * 1024 * 1024 Bytes), 0 means no need to write logs.
- Caution: The larger the upper limit of the log file size, the more log information it carries, but the log upload time will be longer.
logCount
public unsigned int logCountLog files count. Default is 3. Value range is [3, 20].
Methods
ZegoLogConfig
ZegoMediaDataPublisherConfig
Used to config the media data publisher.
Details
Used to config the media data publisher when creating it.
Declared in ZegoExpressDefines.h
Properties
channel
public int channelUsed to specify the publish channel index of publisher.
mode
ZegoMediaPlayerMediaInfo
Media Infomration of media file.
Details
Meida information such as video resolution of media file.
Declared in ZegoExpressDefines.h
Properties
width
public int widthVideo resolution width.
height
public int heightVideo resolution height.
frameRate
public int frameRateVideo frame rate.
Methods
ZegoMediaPlayerMediaInfo
ZegoMediaPlayerResource
Multimedia resource for ZEGO media player.
Details
Used to configure loading parameters when loading multimedia resources.
Declared in ZegoExpressDefines.h
Properties
loadType
public ZegoMultimediaLoadType loadTypeUsed to specify the loading type of multimedia resources.
startPosition
public unsigned long long startPositionThe progress at which the plaback started.
alphaLayout
public ZegoAlphaLayoutType alphaLayoutIf the specified resource has a transparent effect, you need to specify the layout position of the alpha data.
filePath
public std::string filePathCommon resource path.The absolute resource path or the URL of the network resource and cannot be nil or "". Android can set this path string with Uri.
memory
public unsigned char * memorybinary data memory.
memoryLength
public int memoryLengthBinary data memory length.
resourceID
public std::string resourceIDThe resource ID obtained from the copyrighted music module.
onlineResourceCachePath
public std::string onlineResourceCachePathOnline resource cache path, in utf8 encoding format.
maxCachePendingLength
public long long maxCachePendingLengthThe maximum length of online resource cache to be used, in bytes, with a minimum setting of 500K (500 * 1024). The default value is 0 - no limit, and try to cache the entire file.
Methods
ZegoMediaPlayerResource
ZegoMediaPlayerStatisticsInfo
Media player play statistics.
Details
Media player play statistics.
Declared in ZegoExpressDefines.h
Properties
videoSourceFps
public double videoSourceFpsVideo source fps.
videoDecodeFps
public double videoDecodeFpsVideo decode fps.
videoRenderFps
public double videoRenderFpsVideo render fps.
audioSourceFps
public double audioSourceFpsAudio source fps.
audioDecodeFps
public double audioDecodeFpsAudio decode fps.
audioRenderFps
public double audioRenderFpsAudio render fps.
Methods
ZegoMediaPlayerStatisticsInfo
ZegoMediaSideInfo
SEI Callback info.
Declared in ZegoExpressDefines.h
Properties
streamID
public std::string streamIDStream ID.
SEIData
public const unsigned char* SEIDataSEI data
SEIDataLength
public unsigned int SEIDataLengthLength of the SEI data
timestampNs
public long long timestampNstimestamp
moduleType
public int moduleTypeSEI source module. Please contact ZEGO technical support.
ZegoMixerAudioConfig
Mix stream audio configuration.
Details
Configure video frame rate, bitrate, and resolution for mixer task
Declared in ZegoExpressDefines.h
Properties
bitrate
public int bitrateAudio bitrate in kbps, default is 48 kbps, cannot be modified after starting a mixer task
channel
codecID
mixMode
public ZegoAudioMixMode mixModeMulti-channel audio stream mixing mode. If [ZegoAudioMixMode] is selected as [Focused], the SDK will select 4 input streams with [isAudioFocus] set as the focus voice highlight. If it is not selected or less than 4 channels are selected, it will automatically fill in 4 channels. On web platforms, this property does not take effect.
Methods
ZegoMixerAudioConfig
public ZegoMixerAudioConfig:bitrate(48), channel(ZEGO_AUDIO_CHANNEL_MONO), codecID(ZEGO_AUDIO_CODEC_ID_DEFAULT), mixMode(ZEGO_AUDIO_MIX_MODE_RAW)ZegoExpressDefines.hZegoMixerAudioConfig
public ZegoMixerAudioConfig(int bitrate, ZegoAudioChannel channel, ZegoAudioCodecID codecID): bitrate(bitrate), channel(channel), codecID(codecID), mixMode(ZEGO_AUDIO_MIX_MODE_RAW)ZegoExpressDefines.hZegoMixerImageInfo
Set the image information of a single input stream in the mux.
Details
Sets a picture for the content of a single input stream, which is used in place of the video, i.e. the video is not displayed when the picture is used. The layout layout in [ZegoMixerInput] for image multiplexing.
Use case: The developer needs to temporarily turn off the camera to display the image during the video connection to the microphone, or display the picture when the audio is connected to the microphone.
- Available since: 2.19.0
- Restrictions: Image size is limited to 1M.
Declared in ZegoExpressDefines.h
Properties
url
public std::string urlThe image path, if not empty, the image will be displayed, otherwise, the video will be displayed. JPG and PNG formats are supported. There are 2 ways to use it: 1. URI: Provide the picture to ZEGO technical support for configuration. After the configuration is complete, the picture URI will be provided, for example: preset-id://xxx.jpg. 2. URL: Only HTTP protocol is supported.
displayMode
public int displayModeImage display mode. 0: Default. Use image to replace video content when url is not nullptr. 1: Display image based on camera status. Display image when camera is turned off. Display video content when camera is turned on (no need to clear the url parameter). 2: Display image based on the input stream has video data or not. Display image when there is no video data in the input stream for 3 consecutive seconds. The default duration for judging that there is no video data is 3 seconds. If you need change this setting, please contact ZEGO technical support. Display video content when the input stream has video data.
Methods
ZegoMixerImageInfo
public ZegoMixerImageInfo(std::string url):url(url), displayMode(0)ZegoExpressDefines.hZegoMixerImageInfo
public ZegoMixerImageInfo(std::string url, int displayMode):url(url), displayMode(displayMode)ZegoExpressDefines.hZegoMixerInput
Mixer input.
Details
Configure the mix stream input stream ID, type, and the layout
Declared in ZegoExpressDefines.h
Properties
streamID
public std::string streamID- Caution: You cannot include URL keywords, otherwise publishing stream and playing stream will fails. Only support numbers, English characters and '-', '_'.
contentType
layout
public ZegoRect layoutStream layout. When the mixed stream is an audio stream (that is, the ContentType parameter is set to the audio mixed stream type). Developers do not need to assign a value to this field, just use the SDK default.
soundLevelID
public unsigned int soundLevelIDIf enable soundLevel in mix stream task, an unique soundLevelID is need for every stream
volume
public unsigned int volumeInput stream volume, valid range [0, 200], default is 100.
isAudioFocus
public bool isAudioFocusWhether the focus voice is enabled in the current input stream, the sound of this stream will be highlighted if enabled.
audioDirection
public int audioDirectionThe direction of the audio. Valid direction is between 0 to 360. Set -1 means disable. Default value is -1. On web platforms, this property does not take effect.
label
renderMode
imageInfo
cornerRadius
public unsigned int cornerRadiusVideo frame corner radius, in px.
- Required: False.
- Value range: Does not exceed the width and height of the video screen set by the [layout] parameter.
- Default value: 0.
advancedConfig
public std::map<std::string, std::string> advancedConfigSet advanced configuration. Please contact ZEGO technical support. On web platforms, this property does not take effect.
blurInfo
Methods
ZegoMixerInput
public ZegoMixerInput : streamID(), contentType(ZEGO_MIXER_INPUT_CONTENT_TYPE_VIDEO), layout(), soundLevelID(0), volume(100), isAudioFocus(false), audioDirection(-1), label(""), renderMode(ZEGO_MIX_RENDER_MODE_FILL), imageInfo(""), cornerRadius(0)ZegoExpressDefines.hZegoMixerInput
public ZegoMixerInput(std::string streamID, ZegoMixerInputContentType contentType, ZegoRect layout, unsigned int soundLevelID): streamID(streamID), contentType(contentType), layout(layout), soundLevelID(soundLevelID), volume(100),isAudioFocus(false), audioDirection(-1), label(""), renderMode(ZEGO_MIX_RENDER_MODE_FILL), imageInfo(""), cornerRadius(0)ZegoExpressDefines.hZegoMixerOutput
Mixer output object, currently, a mixed-stream task only supports a maximum of four video streams with different resolutions.
Details
Configure mix stream output target URL or stream ID
Declared in ZegoExpressDefines.h
Properties
target
public std::string targetMix stream output target, URL or stream ID, if set to be URL format, only RTMP URL surpported, for example rtmp://xxxxxxxx, addresses with two identical mixed-stream outputs cannot be passed in.
videoConfig
public ZegoMixerOutputVideoConfig videoConfigMix stream output video config. On web platforms, this property does not take effect.
targetRoom
public ZegoMixerOutputRoomInfo targetRoomSpecifies the room information for the output stream.
Methods
ZegoMixerOutput
public ZegoMixerOutput : videoConfig(), targetRoom("", "")ZegoExpressDefines.hZegoMixerOutput
public ZegoMixerOutput(std::string target) : target(target), videoConfig, targetRoom("", "")ZegoExpressDefines.hZegoMixerOutputRoomInfo
Room information for the output stream in a mixed stream.
Details
Setting room information for a single output stream; the mixed output stream can be added to the specified room, allowing users in the room to receive notifications of increased stream in the room.
- Use cases: Manual mixed stream scenario, such as Co-hosting.
- Available since: 3.18.0
- Restrictions: Dynamic updates during mixed stream are not supported.
Declared in ZegoExpressDefines.h
Properties
roomID
public std::string roomIDSpecifies the room ID of the output stream. You need to ensure that the room is already present when mixing starts.
userID
public std::string userIDSpecifies the user ID of the output stream. It is not recommended to use the same userID as the actual user in the room to avoid conflicts with the SDK's stream addition behavior.
Methods
ZegoMixerOutputRoomInfo
public ZegoMixerOutputRoomInfo(const std::string& roomID, const std::string& userID):roomID(roomID), userID(userID)ZegoExpressDefines.hZegoMixerOutputVideoConfig
Mix stream output video config object.
Details
Configure the video parameters, coding format and bitrate of mix stream output.
- Use cases: Manual mixed stream scenario, such as Co-hosting.
Declared in ZegoExpressDefines.h
Properties
videoCodecID
public ZegoVideoCodecID videoCodecIDMix stream output video coding format, supporting H.264 and h.265 coding.
bitrate
public int bitrateMix stream output video bitrate in kbps. The default value is the bitrate configured in [ZegoMixerVideoConfig].
encodeProfile
public ZegoEncodeProfile encodeProfileMix stream video encode profile. Default value is [ZegoEncodeProfileDefault].
encodeLatency
public int encodeLatencyThe video encoding delay of mixed stream output, Valid value range [0, 2000], in milliseconds. The default value is 0.
enableLowBitrateHD
public bool enableLowBitrateHDEnable high definition low bitrate. Default is false.
Methods
ZegoMixerOutputVideoConfig
public ZegoMixerOutputVideoConfig: videoCodecID(ZEGO_VIDEO_CODEC_ID_DEFAULT), bitrate(0), encodeProfile(ZEGO_ENCODE_PROFILE_DEFAULT), encodeLatency(0), enableLowBitrateHD(false)ZegoExpressDefines.hZegoMixerOutputVideoConfig
public ZegoMixerOutputVideoConfig(ZegoVideoCodecID codecID, int bitrate): videoCodecID(codecID), bitrate(bitrate), encodeProfile(ZEGO_ENCODE_PROFILE_DEFAULT), encodeLatency(0), enableLowBitrateHD(false)ZegoExpressDefines.hZegoMixerOutputVideoConfig
public ZegoMixerOutputVideoConfig(ZegoVideoCodecID codecID, int bitrate, ZegoEncodeProfile profile, int encodeLatency): videoCodecID(codecID), bitrate(bitrate), encodeProfile(profile), encodeLatency(encodeLatency), enableLowBitrateHD(false)ZegoExpressDefines.hZegoMixerTask
Mix stream task object.
Details
This class is the configuration class of the stream mixing task. When a stream mixing task is requested to the ZEGO RTC server, the configuration of the stream mixing task is required. This class describes the detailed configuration information of this stream mixing task.
Declared in ZegoExpressDefines.h
Properties
taskID
public std::string taskIDThe task ID of the task
audioConfig
videoConfig
inputList
outputList
watermark
whiteboard
backgroundColor
public int backgroundColorThe background color of the task, The color value corresponding to RGBA is 0xRRGGBBAA, and setting the transparency of the background color is currently not supported. The AA in 0xRRGGBBAA is 00. For example, select RGB as #87CEFA as the background color, this parameter passes 0x87CEFA00.
backgroundImageURL
public std::string backgroundImageURLThe background image URL of the task
enableSoundLevel
public bool enableSoundLevelEnable or disable sound level callback for the task. If enabled, then the remote player can get the soundLevel of every stream in the inputlist by [onMixerSoundLevelUpdate] callback.
streamAlignmentMode
public ZegoStreamAlignmentMode streamAlignmentModeThe stream mixing alignment mode
userData
public const unsigned char* userDataUser data, the length of user data should not be more than 1000 bytes,After setting, the streaming party can obtain the SEI content by listening to the callback of [onPlayerRecvSEI].
userDataLength
public unsigned int userDataLengthUser data length, not greater than 1000. that only data with length will be read by SDK. If the length is greater than the actual length of data, the SDK will read the data according to the actual length of data.
advancedConfig
public std::unordered_map<std::string, std::string> advancedConfigSet advanced configuration, such as specifying video encoding and others. If you need to use it, contact ZEGO technical support.
minPlayStreamBufferLength
public int minPlayStreamBufferLengthSets the lower limit of the interval range for the adaptive adjustment of the stream playing cache of the stream mixing server. In the real-time chorus KTV scenario, slight fluctuations in the network at the push end may cause the mixed stream to freeze. At this time, when the audience pulls the mixed stream, there is a high probability of the problem of freeze. By adjusting the lower limit of the interval range for the adaptive adjustment of the stream playing cache of the stream mixing server, it can optimize the freezing problem that occurs when playing mixing streams at the player end, but it will increase the delay. It is not set by default, that is, the server uses its own configuration values. It only takes effect for the new input stream setting, and does not take effect for the input stream that has already started mixing.Value Range: [0,10000], exceeding the maximum value will result in a failure of the stream mixing request. On web platforms, this property does not take effect.
mixImageCheckMode
public ZegoMixImageCheckMode mixImageCheckModeSet the mixed stream image check mode.
Methods
ZegoMixerTask
public ZegoMixerTask(std::string taskID=""): taskID(taskID), watermark(nullptr), whiteboard(nullptr), backgroundColor(0), enableSoundLevel(false), streamAlignmentMode(ZEGO_STREAM_ALIGNMENT_MODE_NONE), userData(nullptr), userDataLength(0), minPlayStreamBufferLength(-1), mixImageCheckMode(ZEGO_MIX_IMAGE_CHECK_MODE_NORMAL)ZegoExpressDefines.hZegoMixerVideoConfig
Mix stream video config object.
Details
Configure video frame rate, bitrate, and resolution for mixer task
Declared in ZegoExpressDefines.h
Properties
width
public int widthVideo resolution width
height
public int heightVideo resolution height
fps
public int fpsVideo FPS, cannot be modified after starting a mixer task
bitrate
public int bitrateVideo bitrate in kbps
quality
public int qualityVideo quality, this value is valid when the video rate control mode parameter is set to constant quality. The valid value ranges from 0 to 51. The default value is 23. If you want better video quality, lower the quality value based on 23 to test the adjustment. If you want a smaller file size, test the adjustment by increasing the high quality value at the base of 23. Take the file size under the value x as an example. The file size under the value x + 6 is half the size of the file size under the value x, and the file size under the value x-6 is twice the size of the file size under the value x. On web platforms, this property does not take effect.
rateControlMode
public ZegoVideoRateControlMode rateControlModeVideo bitrate control mode. On web platforms, this property does not take effect.
Methods
ZegoMixerVideoConfig
public ZegoMixerVideoConfig: width(640), height(360), fps(15), bitrate(600), quality(23), rateControlMode(ZEGO_VIDEO_RATE_CONTROL_MODE_CONSTANT_RATE)ZegoExpressDefines.hZegoMixerVideoConfig
public ZegoMixerVideoConfig(int width, int height, int fps, int bitrate): width(width), height(height), fps(fps), bitrate(bitrate), quality(23), rateControlMode(ZEGO_VIDEO_RATE_CONTROL_MODE_CONSTANT_RATE)ZegoExpressDefines.hZegoMixerWhiteboard
Mixer whiteboard object.
Details
Configure the mix whiteboard ID, aspect ratio and the layout.
Declared in ZegoExpressDefines.h
Properties
whiteboardID
public unsigned long long whiteboardIDWhiteboard ID.
horizontalRatio
public int horizontalRatioWhiteboard aspect ratio(width), the default aspect ratio is 16:9.
verticalRatio
public int verticalRatioWhiteboard aspect ratio(height), the default aspect ratio is 16:9.
isPPTAnimation
public bool isPPTAnimationWhether the whiteboard will load dynamic PPT files or not, default value is false.
layout
zOrder
public int zOrderWhiteboard z-order.
backgroundColor
public int backgroundColorWhiteboard background color. Defaule is 0xF1F3F400 (gray). The color value corresponding to RGBA is 0xRRGGBBAA, and setting the transparency of the background color is currently not supported. The AA in 0xRRGGBBAA is 00. For example, select RGB as #87CEFA as the background color, this parameter passes 0x87CEFA00.F
Methods
ZegoMixerWhiteboard
ZegoNetWorkResourceCache
Media player network cache information
Declared in ZegoExpressDefines.h
Properties
time
public unsigned int timeCached playable duration, unit ms
size
public unsigned int sizeCached playable size, unit byte
ZegoNetworkProbeConfig
Network probe config
Declared in ZegoExpressDefines.h
Properties
enableTraceroute
public bool enableTracerouteWhether do traceroute, enabling tranceRoute will significantly increase network detection time
ZegoNetworkProbeHttpResult
http probe result
Declared in ZegoExpressDefines.h
Properties
errorCode
public int errorCodehttp probe errorCode, 0 means the connection is normal
requestCostTime
public unsigned int requestCostTimehttp request cost time, the unit is millisecond
ZegoNetworkProbeResult
Network probe result
Declared in ZegoExpressDefines.h
Properties
httpProbeResult
tcpProbeResult
udpProbeResult
tracerouteResult
ZegoNetworkProbeTcpResult
tcp probe result
Declared in ZegoExpressDefines.h
Properties
errorCode
public int errorCodetcp probe errorCode, 0 means the connection is normal
rtt
public unsigned int rtttcp rtt, the unit is millisecond
connectCostTime
public unsigned int connectCostTimetcp connection cost time, the unit is millisecond
ZegoNetworkProbeTracerouteResult
traceroute result
Details
Jump up to 30 times. The traceroute result is for reference and does not represent the final network connection result. The priority is http, tcp, udp probe result.
Declared in ZegoExpressDefines.h
Properties
errorCode
public int errorCodetraceroute error code, 0 means normal
tracerouteCostTime
public unsigned int tracerouteCostTimeTime consumed by trace route, the unit is millisecond
ZegoNetworkProbeUdpResult
udp probe result
Declared in ZegoExpressDefines.h
Properties
errorCode
public int errorCodeudp probe errorCode, 0 means the connection is normal
rtt
public unsigned int rttThe total time that the SDK send udp data to server and receive a reply, the unit is millisecond
ZegoNetworkSpeedTestConfig
Network speed test config
Declared in ZegoExpressDefines.h
Properties
testUplink
public bool testUplinkTest uplink or not
expectedUplinkBitrate
public int expectedUplinkBitrateThe unit is kbps. Recommended to use the bitrate in ZegoVideoConfig when call startPublishingStream to determine whether the network uplink environment is suitable.
testDownlink
public bool testDownlinkTest downlink or not
expectedDownlinkBitrate
public int expectedDownlinkBitrateThe unit is kbps. Recommended to use the bitrate in ZegoVideoConfig when call startPublishingStream to determine whether the network downlink environment is suitable.
ZegoNetworkSpeedTestQuality
network speed test quality
Declared in ZegoExpressDefines.h
Properties
connectCost
public unsigned int connectCostTime to connect to the server, in milliseconds. During the speed test, if the network connection is disconnected, it will automatically initiate a reconnection, and this variable will be updated accordingly.
rtt
public unsigned int rttrtt, in milliseconds
packetLostRate
public double packetLostRatepacket lost rate. in percentage, 0.0 ~ 1.0
quality
ZegoNetworkTimeInfo
The NTP info
Declared in ZegoExpressDefines.h
Properties
timestamp
public unsigned long long timestampNetwork timestamp after synchronization, 0 indicates not yet synchronized
maxDeviation
public int maxDeviationThe max deviation
ZegoObjectSegmentationConfig
Object segmentation config.
Details
It is used to configure parameters when the object segmentation is turned on.
Declared in ZegoExpressDefines.h
Properties
objectSegmentationType
public ZegoObjectSegmentationType objectSegmentationTypeThe type of object segmentation.
backgroundConfig
Methods
ZegoObjectSegmentationConfig
public ZegoObjectSegmentationConfig : objectSegmentationType(ZEGO_OBJECT_SEGMENTATION_TYPE_ANY_BACKGROUND)ZegoExpressDefines.hZegoPerformanceStatus
System performance monitoring status
Declared in ZegoExpressDefines.h
Properties
cpuUsageApp
public double cpuUsageAppCurrent CPU usage of the app, value range [0, 1]
cpuUsageSystem
public double cpuUsageSystemCurrent CPU usage of the system, value range [0, 1]
memoryUsageApp
public double memoryUsageAppCurrent memory usage of the app, value range [0, 1]
memoryUsageSystem
public double memoryUsageSystemCurrent memory usage of the system, value range [0, 1]
memoryUsedApp
public double memoryUsedAppCurrent memory used of the app, in MB
ZegoPlayStreamQuality
Played stream quality information.
Details
Audio and video parameters and network quality, etc.
Declared in ZegoExpressDefines.h
Properties
videoRecvFPS
public double videoRecvFPSVideo receiving frame rate. The unit of frame rate is f/s
videoDejitterFPS
public double videoDejitterFPSVideo dejitter frame rate. The unit of frame rate is f/s (Available since 1.17.0)
videoDecodeFPS
public double videoDecodeFPSVideo decoding frame rate. The unit of frame rate is f/s
videoRenderFPS
public double videoRenderFPSVideo rendering frame rate. The unit of frame rate is f/s
videoKBPS
public double videoKBPSVideo bit rate in kbps
videoBreakRate
public double videoBreakRateVideo break count, break count during the callback cycle (Available since 1.17.0)
audioRecvFPS
public double audioRecvFPSAudio receiving frame rate. The unit of frame rate is f/s
audioDejitterFPS
public double audioDejitterFPSAudio dejitter frame rate. The unit of frame rate is f/s (Available since 1.17.0)
audioDecodeFPS
public double audioDecodeFPSAudio decoding frame rate. The unit of frame rate is f/s
audioRenderFPS
public double audioRenderFPSAudio rendering frame rate. The unit of frame rate is f/s
audioKBPS
public double audioKBPSAudio bit rate in kbps
audioBreakRate
public double audioBreakRateAudio break count, break count during the callback cycle (Available since 1.17.0)
mos
public double mosThe audio quality of the playing stream determined by the audio MOS (Mean Opinion Score) measurement method, value range [-1, 5], where -1 means unknown, [0, 5] means valid score, the higher the score, the better the audio quality. For the subjective perception corresponding to the MOS value, please refer to https://docs.zegocloud.com/article/3720#4_4 (Available since 2.16.0)
rtt
public int rttServer to local delay, in milliseconds
packetLostRate
public double packetLostRatePacket loss rate, in percentage, 0.0 ~ 1.0
peerToPeerDelay
public int peerToPeerDelayDelay from peer to peer, in milliseconds
peerToPeerPacketLostRate
public double peerToPeerPacketLostRatePacket loss rate from peer to peer, in percentage, 0.0 ~ 1.0
level
delay
public int delayDelay after the data is received by the local end, in milliseconds
avTimestampDiff
public int avTimestampDiffThe difference between the video timestamp and the audio timestamp, used to reflect the synchronization of audio and video, in milliseconds. This value is less than 0 means the number of milliseconds that the video leads the audio, greater than 0 means the number of milliseconds that the video lags the audio, and 0 means no difference. When the absolute value is less than 200, it can basically be regarded as synchronized audio and video, when the absolute value is greater than 200 for 10 consecutive seconds, it can be regarded as abnormal (Available since 1.19.0)
isHardwareDecode
public bool isHardwareDecodeWhether to enable hardware decoding
videoCodecID
totalRecvBytes
public double totalRecvBytesTotal number of bytes received, including audio, video, SEI
audioRecvBytes
public double audioRecvBytesNumber of audio bytes received
videoRecvBytes
public double videoRecvBytesNumber of video bytes received
audioCumulativeBreakCount
public unsigned int audioCumulativeBreakCountAccumulated audio break count (Available since 2.9.0)
audioCumulativeBreakTime
public unsigned int audioCumulativeBreakTimeAccumulated audio break time, in milliseconds (Available since 2.9.0)
audioCumulativeBreakRate
public double audioCumulativeBreakRateAccumulated audio break rate, in percentage, 0.0 ~ 100.0 (Available since 2.9.0)
audioCumulativeDecodeTime
public unsigned int audioCumulativeDecodeTimeAccumulated audio decode time, in milliseconds (Available since 2.9.0)
videoCumulativeBreakCount
public unsigned int videoCumulativeBreakCountAccumulated video break count (Available since 2.9.0)
videoCumulativeBreakTime
public unsigned int videoCumulativeBreakTimeAccumulated video break time, in milliseconds (Available since 2.9.0)
videoCumulativeBreakRate
public double videoCumulativeBreakRateAccumulated video break rate, in percentage, 0.0 ~ 1.0 (Available since 2.9.0)
videoCumulativeDecodeTime
public unsigned int videoCumulativeDecodeTimeAccumulated video decode time, in milliseconds (Available since 2.9.0)
muteVideo
public int muteVideoMute video (Available since 3.13.0)
muteAudio
public int muteAudioMute audio (Available since 3.13.0)
ZegoPlayerConfig
Advanced player configuration.
Details
Configure stream resource mode, CDN configuration and other advanced configurations.
Declared in ZegoExpressDefines.h
Properties
resourceMode
cdnConfig
public ZegoCDNConfig * cdnConfigThe CDN configuration for playing stream. If set, the stream is play according to the URL instead of the streamID. After that, the streamID is only used as the ID of SDK internal callback.
roomID
public std::string roomIDThe Room ID. It only needs to be filled in the multi-room mode, which indicates which room this stream needs to be bound to. This parameter is ignored in single room mode.
videoCodecID
public ZegoVideoCodecID videoCodecIDThe video encoding type of the stream, please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored.
sourceResourceType
public ZegoResourceType sourceResourceTypeThe resource type of the source stream, please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored.
codecTemplateID
public int codecTemplateIDPreconfigured codec template ID, please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored.
resourceSwitchMode
public ZegoStreamResourceSwitchMode resourceSwitchModePlay resource switching strategy mode, the default is ZegoStreamResourceSwitchModeDefault
resourceWhenStopPublish
public ZegoStreamResourceType resourceWhenStopPublishPlay resource type when stop publish, the default is ZegoStreamResourceTypeDefault. This setting takes effect only if the user sets [resourceMode] to ZegoStreamResourceModeDefaut and [resourceSwitchMode] to ZegoStreamResourceSwitchModeDefault or ZegoStreamResourceSwitchModeSwitchToRTC.
adaptiveSwitch
public int adaptiveSwitchWhether to enable adaptive switching of streams, 1 means on, 0 means off. Valid only if [resourceMode] is ZegoStreamResourceModeOnlyL3. Please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored.
adaptiveTemplateIDList
public std::vector<int> adaptiveTemplateIDListStream adaptive transcoding template ID list. Please contact ZEGO technical support if you need to use it, otherwise this parameter can be ignored.
customResourceConfig
public ZegoCustomPlayerResourceConfig customResourceConfigPlay stream resource type configuration when [resourceMode] is ZegoStreamResourceModeCustom.
switchStreamConfig
public ZegoSwitchPlayingStreamConfig switchStreamConfigExtended parameters for the [switchPlayingStream] interface.
Methods
ZegoPlayerConfig
public ZegoPlayerConfig: resourceMode(ZEGO_STREAM_RESOURCE_MODE_DEFAULT), cdnConfig(nullptr), roomID(""), videoCodecID(ZEGO_VIDEO_CODEC_ID_UNKNOWN), sourceResourceType(ZEGO_RESOURCE_TYPE_RTC), codecTemplateID(0),resourceSwitchMode(ZEGO_STREAM_RESOURCE_SWITCH_MODE_DEFAULT),resourceWhenStopPublish(ZEGO_STREAM_RESOURCE_TYPE_DEFAULT), adaptiveSwitch(0)ZegoExpressDefines.hZegoPosition
Request configuration of song or accompaniment.
Declared in ZegoExpressDefines.h
Properties
coordinate
public float[3] coordinateThe coordinates of the oneself in the world coordinate system. The parameter is a float array of length 3. The three values represent the front, right, and top coordinate values in turn.
motionOrientation
cameraOrientation
public ZegoPositionOrientation cameraOrientationCamera orientation, for 3D range spatializer.
ZegoPositionOrientation
Orientation.
Declared in ZegoExpressDefines.h
Properties
axisForward
public float[3] axisForwardThe unit vector of the front axis of its own coordinate system. The parameter is a float array with a length of 3. The three values represent the front, right, and top coordinate values in turn.
axisRight
public float[3] axisRightThe unit vector of the right axis of its own coordinate system. The parameter is a float array with a length of 3. The three values represent the front, right, and top coordinate values in turn.
axisUp
public float[3] axisUpThe unit vector of the up axis of its own coordinate system. The parameter is a float array with a length of 3. The three values represent the front, right, and top coordinate values in turn.
ZegoProxyInfo
Proxy config.
Details
Set proxy config.
Declared in ZegoExpressDefines.h
Properties
ip
public std::string ipip. Under local proxy: local proxy ip configured by the developer. under cloud proxy: proxy ip provided by ZEGO (either hostname or ip will do).
port
public unsigned int portport. Under Local Proxy: Local proxy port configured by the developer. Under Cloud Proxy: Proxy port provided by ZEGO.
hostName
public std::string hostNamehostname.Under Local Proxy: Local proxy hostname configured by the developer. Under cloud proxy: proxy hostname provided by ZEGO. proxy hostname (either hostname or ip will do).
userName
public std::string userNameuserName.Under Local Proxy: the authentication username of the local Proxy configured by the developer, can be ignored if there is none. Under cloud proxy: can be ignored.
password
public std::string passwordpassword.Under local proxy: authentication password of local proxy configured by developer, can be ignored if there is none. Under cloud proxy: can be ignored.
Methods
ZegoProxyInfo
public ZegoProxyInfo:ip(""), port(0), hostName(""), userName(""), password("")ZegoExpressDefines.hZegoPublishDualStreamConfig
Dual stream info.
Declared in ZegoExpressDefines.h
Properties
streamType
encodeWidth
public int encodeWidthVideo resolution width to be adjusted
encodeHeight
public int encodeHeightVideo resolution height to be adjusted
fps
public int fpsVideo FPS to be adjusted
bitrate
public int bitrateVideo bitrate in kbps to be adjusted
ZegoPublishStreamQuality
Published stream quality information.
Details
Audio and video parameters and network quality, etc.
Declared in ZegoExpressDefines.h
Properties
videoCaptureFPS
public double videoCaptureFPSVideo capture frame rate. The unit of frame rate is f/s
videoEncodeFPS
public double videoEncodeFPSVideo encoding frame rate. The unit of frame rate is f/s
videoSendFPS
public double videoSendFPSVideo transmission frame rate. The unit of frame rate is f/s
videoKBPS
public double videoKBPSVideo bit rate in kbps
audioCaptureFPS
public double audioCaptureFPSAudio capture frame rate. The unit of frame rate is f/s
audioSendFPS
public double audioSendFPSAudio transmission frame rate. The unit of frame rate is f/s
audioKBPS
public double audioKBPSAudio bit rate in kbps
rtt
public int rttLocal to server delay, in milliseconds
packetLostRate
public double packetLostRatePacket loss rate, in percentage, 0.0 ~ 1.0
level
isHardwareEncode
public bool isHardwareEncodeWhether to enable hardware encoding
videoCodecID
totalSendBytes
public double totalSendBytesTotal number of bytes sent, including audio, video, SEI
audioSendBytes
public double audioSendBytesNumber of audio bytes sent
videoSendBytes
public double videoSendBytesNumber of video bytes sent
audioTrafficControlRate
public int audioTrafficControlRateAudio traffic control ratio, in percentage, 0 ~ 100. A value of -1 indicates failed streaming. Higher values indicate greater traffic control impact.
videoTrafficControlRate
public int videoTrafficControlRateVideo traffic control ratio, in percentage, 0 ~ 100. A value of -1 indicates failed streaming. Higher values indicate greater traffic control impact.
ZegoPublisherConfig
Advanced publisher configuration.
Details
Configure room id
Declared in ZegoExpressDefines.h
Properties
roomID
public std::string roomIDThe Room ID, It is not necessary to pass in single room mode, but the ID of the corresponding room must be passed in multi-room mode
forceSynchronousNetworkTime
public int forceSynchronousNetworkTimeWhether to synchronize the network time when pushing streams. 1 is synchronized with 0 is not synchronized. And must be used with setStreamAlignmentProperty. It is used to align multiple streams at the mixed stream service or streaming end, such as the chorus scene of KTV.
streamCensorshipMode
public ZegoStreamCensorshipMode streamCensorshipModeWhen pushing a flow, review the pattern of the flow. By default, no audit is performed. If you want to use this function, contact ZEGO technical support.
streamCensorFlag
public int streamCensorFlagInspect flag. If you want to use this function, contact ZEGO technical support.
codecNegotiationType
public ZegoCapabilityNegotiationType codecNegotiationTypeCodec capability negotiation type. By default, no reference to the outcome of the capability negotiation. If you want to use this function, contact ZEGO technical support.
streamTitle
public std::string streamTitleStream title, a utf8 string with a maximum length of 255 bytes or less.
Methods
ZegoPublisherConfig
public ZegoPublisherConfig: roomID(""), forceSynchronousNetworkTime(0), streamCensorshipMode(ZEGO_STREAM_CENSORSHIP_MODE_NONE), streamCensorFlag(0), codecNegotiationType(ZEGO_CAPABILITY_NEGOTIATION_TYPE_NONE)ZegoExpressDefines.hZegoPublisherTakeSnapshotConfig
The config of publish stream snapshot.
Declared in ZegoExpressDefines.h
Properties
position
Methods
ZegoPublisherTakeSnapshotConfig
ZegoExpressDefines.hZegoReceiveRangeParam
Receive range configuration.
Declared in ZegoExpressDefines.h
Properties
min
public float minThe minimum distance at which the 3D sound effect starts to have attenuation effect, the value needs to be >= 0 and <= max, the default value is 0.
max
public float maxThe maximum range received, the value needs to be >= min, the default value is 0.
Methods
ZegoReceiveRangeParam
ZegoRect
View related coordinates.
Declared in ZegoExpressDefines.h
Properties
x
public int xThe horizontal offset from the top-left corner
y
public int yThe vertical offset from the top-left corner
width
public int widthThe width of the rectangle
height
public int heightThe height of the rectangle
Methods
ZegoRect
ZegoRect
public ZegoRect(int x, int y, int w, int h) : x(x), y(y), width(w), height(h)ZegoExpressDefines.hZegoReverbAdvancedParam
Audio reverberation advanced parameters.
Details
Developers can use the SDK's built-in presets to change the parameters of the reverb.
Declared in ZegoExpressDefines.h
Properties
roomSize
public float roomSizeRoom size(%), in the range [0.0, 1.0], to control the size of the "room" in which the reverb is generated, the larger the room, the stronger the reverb.
reverberance
public float reverberanceEcho(%), in the range [0.0, 100.0], to control the trailing length of the reverb.
damping
public float dampingReverb Damping(%), range [0.0, 100.0], controls the attenuation of the reverb, the higher the damping, the higher the attenuation.
wetOnly
public bool wetOnlyonly wet
wetGain
public float wetGainwet gain(dB), range [-20.0, 10.0]
dryGain
public float dryGaindry gain(dB), range [-20.0, 10.0]
toneLow
public float toneLowTone Low. 100% by default
toneHigh
public float toneHighTone High. 100% by default
preDelay
public float preDelayPreDelay(ms), range [0.0, 200.0]
stereoWidth
public float stereoWidthStereo Width(%). 0% by default
Methods
ZegoReverbAdvancedParam
public ZegoReverbAdvancedParam : roomSize(.0f), reverberance(.0f), damping(.0f), wetOnly(false), wetGain(.0f), dryGain(.0f), toneLow(100.0f), toneHigh(100.0f), preDelay(.0f), stereoWidth(.0f)ZegoExpressDefines.hZegoReverbEchoParam
Audio reverberation echo parameters.
Declared in ZegoExpressDefines.h
Properties
inGain
public float inGainGain of input audio signal, in the range [0.0, 1.0]
outGain
public float outGainGain of output audio signal, in the range [0.0, 1.0]
numDelays
public int numDelaysNumber of echos, in the range [0, 7]
delay
public int[7] delayRespective delay of echo signal, in milliseconds, in the range [0, 5000] ms
decay
public float[7] decayRespective decay coefficient of echo signal, in the range [0.0, 1.0]
ZegoReverbParam
Audio reverberation parameters.
Details
Developers can use the SDK's built-in presets to change the parameters of the reverb.
Declared in ZegoExpressDefines.h
Properties
roomSize
public float roomSizeRoom size, in the range [0.0, 1.0], to control the size of the "room" in which the reverb is generated, the larger the room, the stronger the reverb.
reverberance
public float reverberanceEcho, in the range [0.0, 0.5], to control the trailing length of the reverb.
damping
public float dampingReverb Damping, range [0.0, 2.0], controls the attenuation of the reverb, the higher the damping, the higher the attenuation.
dryWetRatio
public float dryWetRatioDry/wet ratio, the range is greater than or equal to 0.0, to control the ratio between reverberation, direct sound and early reflections; dry part is set to 1 by default; the smaller the dry/wet ratio, the larger the wet ratio, the stronger the reverberation effect.
ZegoRoiRect
Coordinates used by the ROI function.
Declared in ZegoExpressDefines.h
Properties
x
public int xThe horizontal offset from the top-left corner
y
public int yThe vertical offset from the top-left corner
width
public int widthThe width of the rectangle
height
public int heightThe height of the rectangle
strength
public int strengthROI strength, currently supported value range is [0, 4], 0 is no effect, 4 is the strongest.
ZegoRoomConfig
Advanced room configuration.
Details
Configure maximum number of users in the room and authentication token, etc.
Declared in ZegoExpressDefines.h
Properties
maxMemberCount
public unsigned int maxMemberCountThe maximum number of users in the room, Passing 0 means unlimited, the default is unlimited.
isUserStatusNotify
public bool isUserStatusNotifyWhether to enable the user in and out of the room callback notification [onRoomUserUpdate], the default is off. If developers need to use ZEGO Room user notifications, make sure that each user who login sets this flag to true
token
public std::string tokenThe token issued by the developer's business server is used to ensure security. For the generation rules, please refer to Using Token Authentication, the default is an empty string, that is, no authentication. In versions 2.17.0 and above, if appSign is not passed in when calling the [createEngine] API to create an engine, or if appSign is empty, this parameter must be set for authentication when logging in to a room.
capabilityNegotiationTypes
public unsigned int capabilityNegotiationTypesThe bitmask marker for capability negotiation, refer to enum [ZegoRoomCapabilityNegotiationTypesBitMask], when this param converted to binary, 0b01 that means 1 << 0 for enable the capability negotiation of all user in the room, 0x10 that means 1 << 1 for enable the capability negotiation of publisher in the room. The masks can be combined to allow different types of capability negotiation.
roomType
public unsigned int roomTypeThe type of the room, generally, it can be ignored and set to 0.
Methods
ZegoRoomConfig
public ZegoRoomConfig:maxMemberCount(0), isUserStatusNotify(false), token(""), capabilityNegotiationTypes(0), roomType(0)ZegoExpressDefines.hZegoRoomExtraInfo
Room extra information.
Declared in ZegoExpressDefines.h
Properties
key
public std::string keyThe key of the room extra information.
value
public std::string valueThe value of the room extra information.
updateUser
public ZegoUser updateUserThe user who update the room extra information.Please do not fill in sensitive user information in this field, including but not limited to mobile phone number, ID number, passport number, real name, etc.
updateTime
public unsigned long long updateTimeUpdate time of the room extra information, UNIX timestamp, in milliseconds.
ZegoRoomRecvTransparentMessage
Received a transparent message from the room.
Details
Room transparent message, including message content, sending user, sending type, sending mode
Declared in ZegoExpressDefines.h
Properties
sendUser
content
public std::string contentMessage send content.
ZegoRoomSendTransparentMessage
Transparent message info.
Details
Room transparent message, including room id, message content, sending user, sending type, sending mode, timeout period
Declared in ZegoExpressDefines.h
Properties
sendMode
sendType
content
public std::string contentMessage send content.
recvUserList
public std::vector<ZegoUser> recvUserListMessage receiver list, when sendType appointed ZegoRoomTransparentMessageModeOnlyServer don't fill in. When appointed ZegoRoomTransparentMessageModeClientAndServer or ZegoRoomTransparentMessageModeOnlyClient, empty room will be sent to all online users.
timeOut
public int timeOutsend message timeout, The default value is 10s.
Methods
ZegoRoomSendTransparentMessage
public ZegoRoomSendTransparentMessage:sendMode(ZEGO_ROOM_TRANSPARENT_MESSAGE_MODE_ONLY_CLIENT), sendType(ZEGO_ROOM_TRANSPARENT_MESSAGE_NORMAL), timeOut(10)ZegoExpressDefines.hZegoRoomStreamList
Room stream list.
Details
Room stream list.
Declared in ZegoExpressDefines.h
Properties
publishStreamList
playStreamList
ZegoRtcStatsInfo
RTC Network Statistics
Declared in ZegoExpressDefines.h
Properties
totalTxBandwidth
public double totalTxBandwidthtotal upstream bandwidth, in kbps
avgTxRtt
public unsigned int avgTxRttupstream average rtt, in milliseconds
avgTxPacketLostRate
public double avgTxPacketLostRateupstream average packet lost rate. in percentage, 0.0 ~ 1.0
totalRxBandwidth
public double totalRxBandwidthtotal downlink bandwidth, in kbps
avgRxRtt
public unsigned int avgRxRttdownlink average rtt, in milliseconds
avgRxPacketLostRate
public double avgRxPacketLostRatedownlink average packet lost rate. in percentage, 0.0 ~ 1.0
avgPeerToPeerDelay
public unsigned int avgPeerToPeerDelayaverage peer to peer delay, in milliseconds
ZegoSEIConfig
SEI configuration
Details
Used to set the relevant configuration of the Supplemental Enhancement Information.
Declared in ZegoExpressDefines.h
Properties
type
Methods
ZegoSEIConfig
public ZegoSEIConfig(ZegoSEIType type = ZEGO_SEI_TYPE_ZEGO_DEFINED) : type(type)ZegoExpressDefines.hZegoSceneConfig
Scene config.
Declared in ZegoExpressDefines.h
Properties
channelCount
public unsigned int channelCountState channel count.
Methods
ZegoSceneConfig
ZegoSceneParam
Scene param.
Declared in ZegoExpressDefines.h
Properties
user
public ZegoUser userUser object instance, configure userID, userName. that the userID needs to be globally unique with the same appID, otherwise the user who logs in later will kick out the user who logged in first.
sceneID
public long long sceneIDScene ID.
templateID
public unsigned int templateIDScene template ID.
position
broadcastMode
public ZegoBroadcastMode broadcastModeBroadcast user's own information mode, the default is ALL.
token
public std::string tokenAuthentication token.
Methods
ZegoSceneParam
ZegoScenePlayerConfig
Advanced scene player configuration.
Declared in ZegoExpressDefines.h
Properties
rangeSceneHandle
public int rangeSceneHandleRange scene handle. Obtained through [getHandle] of ZegoRangeScene instance.
resourceMode
cdnConfig
public ZegoCDNConfig * cdnConfigThe CDN configuration for playing stream. If set, the stream is play according to the URL instead of the streamID. After that, the streamID is only used as the ID of SDK internal callback.
Methods
ZegoScenePlayerConfig
public ZegoScenePlayerConfig: rangeSceneHandle(-1), resourceMode(ZEGO_STREAM_RESOURCE_MODE_DEFAULT), cdnConfig(nullptr)ZegoExpressDefines.hZegoScenePublisherConfig
Advanced scene publisher configuration.
Declared in ZegoExpressDefines.h
Properties
rangeSceneHandle
public int rangeSceneHandleRange scene handle. Obtained through [getHandle] of ZegoRangeScene instance.
Methods
ZegoScenePublisherConfig
public ZegoScenePublisherConfig: rangeSceneHandle(-1)ZegoExpressDefines.hZegoSceneStreamConfig
Scene stream config.
Declared in ZegoExpressDefines.h
Properties
enablePlayInRange
public bool enablePlayInRangeEnable play stream in range or not.
enablePublishToWorld
public bool enablePublishToWorldEnable publish stream to world or not.
Methods
ZegoSceneStreamConfig
ZegoScreenCaptureAudioConfig
Screen capture audio config
Declared in ZegoExpressDefines.h
Properties
enableWindowCapture
public bool enableWindowCaptureWhether to collect window sound. true for collection, false for no collection, default false. (only for Windows 10 2004 and above versions)
ZegoScreenCaptureConfig
Screen capture configuration parameters.
Declared in ZegoExpressDefines.h
Properties
captureVideo
public bool captureVideoWhether to capture video when screen capture. The default is true.
captureAudio
public bool captureAudioWhether to capture audio when screen capture. The default is true.
microphoneVolume
public unsigned int microphoneVolumeSet Microphone audio volume for ReplayKit. The range is 0 ~ 200. The default is 100. (only for iOS)
applicationVolume
public unsigned int applicationVolumeSet Application audio volume for ReplayKit. The range is 0 ~ 200. The default is 100. (only for iOS and Android)
audioParam
public ZegoAudioFrameParam audioParamSet the audio capture parameters during screen capture. (only for Android)
cropRect
public ZegoRect cropRectSet the crop rectangle during screen capture. The crop rectangle must be included in the rectangle of the original data, unit is pixel. (only for iOS/Android)
orientation
public ZegoScreenCaptureOrientation orientationSet the capture orientation of the screen capture. The capture orientation will be fixed, ignoring the system returned orientation. (only for iOS/Android)
muteExtensMicrophone
public bool muteExtensMicrophoneSet whether to mute the microphone of the extension process. The default is false. (only for iOS)
Methods
ZegoScreenCaptureConfig
ZegoScreenCaptureSourceInfo
The screen captures source information.
Declared in ZegoExpressDefines.h
Properties
sourceType
public ZegoScreenCaptureSourceType sourceTypeTarget type for screen capture. (only for desktop)
sourceID
public void * sourceIDThe ID of the capture source.
sourceName
public std::string sourceNameCapture source name (in UTF8 encoding).
thumbnailImage
iconImage
ZegoSoundLevelConfig
Configuration for start sound level monitor.
Declared in ZegoExpressDefines.h
Properties
millisecond
public unsigned int millisecondMonitoring time period of the sound level, in milliseconds, has a value range of [100, 3000]. Default is 100 ms.
enableVAD
public bool enableVADSet whether the sound level callback includes the VAD detection result.
ZegoSoundLevelInfo
Sound level info object.
Declared in ZegoExpressDefines.h
Properties
soundLevel
public float soundLevelSound level value.
vad
public int vadWhether the stream corresponding to StreamID contains voice, 0 means noise, 1 means normal voice. This value is valid only when the [enableVAD] parameter in the [ZegoSoundLevelConfig] configuration is set to true when calling [startSoundLevelMonitor].
ZegoStream
Stream object.
Details
Identify an stream object
Declared in ZegoExpressDefines.h
Properties
user
public ZegoUser userUser object instance.Please do not fill in sensitive user information in this field, including but not limited to mobile phone number, ID number, passport number, real name, etc.
streamID
public std::string streamID- Caution: You cannot include URL keywords, otherwise publishing stream and playing stream will fails. Only support numbers, English characters and '-', '_'.
extraInfo
public std::string extraInfoStream extra info
ZegoStreamRelayCDNInfo
Relay to CDN info.
Details
Including the URL of the relaying CDN, relaying state, etc.
Declared in ZegoExpressDefines.h
Properties
url
public std::string urlURL of publishing stream to CDN
state
updateReason
stateTime
public unsigned long long stateTimeThe timestamp when the state changed, UNIX timestamp, in milliseconds.
ZegoSwitchPlayingStreamConfig
Extended parameters for the [switchPlayingStream] interface.
Details
Extended parameters for the [switchPlayingStream] interface.
Declared in ZegoExpressDefines.h
Properties
switchType
switchTimeout
public int switchTimeoutSwitch the stream timeout, the unit is seconds.
Methods
ZegoSwitchPlayingStreamConfig
public ZegoSwitchPlayingStreamConfig: switchType(ZEGO_SWITCH_PLAYING_STREAM_TYPE_DEFAULT), switchTimeout(30)ZegoExpressDefines.hZegoTeamParam
Team param.
Declared in ZegoExpressDefines.h
Properties
teamID
public unsigned int teamIDTeam ID.
Methods
ZegoTeamParam
ZegoTestNetworkConnectivityResult
test connectivity result
Declared in ZegoExpressDefines.h
Properties
connectCost
public unsigned int connectCostconnect cost
ZegoTrafficControlInfo
Externally encoded data traffic control information.
Declared in ZegoExpressDefines.h
Properties
width
public int widthVideo resolution width to be adjusted
height
public int heightVideo resolution height to be adjusted
fps
public int fpsVideo FPS to be adjusted
bitrate
public int bitrateVideo bitrate in kbps to be adjusted
ZegoUser
User object.
Details
Configure user ID and username to identify users in the room. that the userID must be unique under the same appID, otherwise, there will be mutual kicks when logging in to the room. It is strongly recommended that userID corresponds to the user ID of the business APP, that is, a userID and a real user are fixed and unique, and should not be passed to the SDK in a random userID. Because the unique and fixed userID allows ZEGO technicians to quickly locate online problems.
Declared in ZegoExpressDefines.h
Properties
userID
public std::string userID- Privacy reminder: Please do not fill in sensitive user information in this field, including but not limited to mobile phone number, ID number, passport number, real name, etc.
- Caution: Only support numbers, English characters and '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''. Do not use '%' if you need to communicate with the Web SDK.
userName
public std::string userNameUser Name, a utf8 string with a maximum length of 256 bytes or less.Please do not fill in sensitive user information in this field, including but not limited to mobile phone number, ID number, passport number, real name, etc.
Methods
ZegoUser
ZegoUser
public ZegoUser(std::string userID, std::string userName):userID(userID),userName(userName)ZegoExpressDefines.hZegoVideoConfig
Video config.
Details
Configure parameters used for publishing stream, such as bitrate, frame rate, and resolution. Developers should note that the width and height resolution of the mobile and desktop are opposite. For example, 360p, the resolution of the mobile is 360x640, and the desktop is 640x360. When using external capture, the capture and encoding resolution of RTC cannot be set to 0*0, otherwise, there will be no video data in the publishing stream in the entire engine life cycle.
Declared in ZegoExpressDefines.h
Properties
captureWidth
public int captureWidthCapture resolution width, control the width of camera image acquisition. SDK requires this member to be set to an even number. Only the camera is not started and the custom video capture is not used, the setting is effective. For performance reasons, the SDK scales the video frame to the encoding resolution after capturing from camera and before rendering to the preview view. Therefore, the resolution of the preview image is the encoding resolution. If you need the resolution of the preview image to be this value, Please call [setCapturePipelineScaleMode] first to change the capture pipeline scale mode to [Post]
captureHeight
public int captureHeightCapture resolution height, control the height of camera image acquisition. SDK requires this member to be set to an even number. Only the camera is not started and the custom video capture is not used, the setting is effective. For performance reasons, the SDK scales the video frame to the encoding resolution after capturing from camera and before rendering to the preview view. Therefore, the resolution of the preview image is the encoding resolution. If you need the resolution of the preview image to be this value, Please call [setCapturePipelineScaleMode] first to change the capture pipeline scale mode to [Post]
encodeWidth
public int encodeWidthEncode resolution width, control the image width of the encoder when publishing stream. SDK requires this member to be set to an even number. The settings before and after publishing stream can be effective
encodeHeight
public int encodeHeightEncode resolution height, control the image height of the encoder when publishing stream. SDK requires this member to be set to an even number. The settings before and after publishing stream can be effective
fps
public int fpsFrame rate, control the frame rate of the camera and the frame rate of the encoder. Publishing stream set to 60 fps, playing stream to take effect need contact technical support
bitrate
public int bitrateBit rate in kbps. The settings before and after publishing stream can be effective. The SDK will automatically set the bit rate suitable for the scenario selected by the developer. If the bit rate manually set by the developer exceeds the reasonable range, the SDK will automatically process the bit rate according to the reasonable range. If you need to configure a high bit rate due to business needs, please contact ZEGO Business.
codecID
public ZegoVideoCodecID codecIDThe codec id to be used, the default value is [default]. Settings only take effect before publishing stream
keyFrameInterval
public int keyFrameInterval- Required: No.
- Default value: 2 seconds.
- Value range: [2, 5].
- Caution: The setting is only valid before pushing.
Methods
ZegoVideoConfig
public ZegoVideoConfig(ZegoVideoConfigPreset preset = ZEGO_VIDEO_CONFIG_PRESET_360P)ZegoExpressDefines.hZegoVideoEncodedFrameParam
Object for video encoded frame fieldeter.
Details
Including video encoded frame format, width and height, etc.
Declared in ZegoExpressDefines.h
Properties
format
isKeyFrame
public bool isKeyFrameWhether it is a keyframe
rotation
public int rotationVideo frame counterclockwise rotation angle
width
public int widthVideo frame width
height
public int heightVideo frame height
SEIData
public const unsigned char* SEIDataSEI data (Optional, if you don't need to send SEI, set it to nullptr. Deprecated, use [sendSEI] instead). Useful when set format as [AVCC] or [AnnexB]
SEIDataLength
public unsigned int SEIDataLengthLength of the SEI data (Optional, if you don't need to send SEI, set it to 0. Deprecated, use [sendSEI] instead). Useful when set format as [AVCC] or [AnnexB]
isExternalClock
public bool isExternalClockWhether to use the external timestamp completely. The default is false. When set to false, the SDK will adjust based on the timestamps of the audio frame and video frame to ensure audio-video synchronization. When set to true, the SDK does not adjust the timestamp and uses the external timestamp completely.
Methods
ZegoVideoEncodedFrameParam
public ZegoVideoEncodedFrameParam:format(ZEGO_VIDEO_ENCODED_FRAME_FORMAT_AVCC), isKeyFrame(false), rotation(0), width(0), height(0), SEIData(nullptr), SEIDataLength(0), isExternalClock(false)ZegoExpressDefines.hZegoVideoFrameParam
Object for video frame fieldeter.
Details
Including video frame format, width and height, etc.
Declared in ZegoExpressDefines.h
Properties
format
strides
public int[4] stridesNumber of bytes per line (for example: BGRA only needs to consider strides [0], I420 needs to consider strides [0,1,2])
width
public int widthVideo frame width. When use custom video capture, the video data meeting the 32-bit alignment can obtain the maximum performance. Taking BGRA as an example, width * 4 is expected to be multiple of 32.
height
public int heightVideo frame height
rotation
public int rotationThe rotation direction of the video frame, the SDK rotates clockwise
ZegoVocalRangeParam
Vocal range configuration.
Declared in ZegoExpressDefines.h
Properties
min
public float minThe minimum distance at which the 3D sound effect starts to have attenuation effect, the value needs to be >= 0 and <= max, the default value is 0.
max
public float maxThe maximum range of the sound, the value needs to be >= min, the default value is 0.
Methods
ZegoVocalRangeParam
ZegoVoiceChangerParam
Voice changer parameter.
Details
Developer can use the built-in presets of the SDK to change the parameters of the voice changer.
Declared in ZegoExpressDefines.h
Properties
pitch
public float pitchPitch parameter, value range [-12.0, 12.0], the larger the value, the sharper the sound, set it to 0.0 to turn off. that on v2.18.0 and older version, the value range is [-8.0, 8.0].
ZegoWatermark
Watermark object.
Details
Configure a watermark image URL and the layout of the watermark in the screen.
Declared in ZegoExpressDefines.h
Properties
imageURL
public std::string imageURLThe path of the watermark image. Support local file absolute path (file://xxx). The format supports png, jpg. The maximum length is less than 512 bytes.
layout
Methods
ZegoWatermark
ZegoWatermark
public ZegoWatermark(std::string imageURL, ZegoRect layout) :imageURL(imageURL), layout(layout)ZegoExpressDefines.h