Struct
ZegoAIVoiceChangerSpeakerInfo
AI 变声音色信息。
Declared in ZegoExpressDefines.h
属性
id
public int id音色 ID。
name
public std::string name音色名称。
方法
ZegoAIVoiceChangerSpeakerInfo
ZegoAccurateSeekConfig
精准seek的配置
Declared in ZegoExpressDefines.h
属性
timeout
public unsigned long long timeout精确搜索的超时时间;如果不设置, SDK 内部默认是设置 5000 毫秒,有效值区间 [2000, 10000],单位ms
方法
ZegoAccurateSeekConfig
ZegoAudioConfig
推流音频配置
详情
配置推流的音频码率、声道数、音频编码
Declared in ZegoExpressDefines.h
属性
bitrate
public int bitrate音频码率,单位为 kbps,默认为 48 kbps. 该配置推流前后设置均可生效
channel
codecID
方法
ZegoAudioConfig
public ZegoAudioConfig(ZegoAudioConfigPreset preset = ZEGO_AUDIO_CONFIG_PRESET_STANDARD_QUALITY)ZegoExpressDefines.hZegoAudioEffectPlayConfig
音效播放器播放配置
Declared in ZegoExpressDefines.h
属性
playCount
public unsigned int playCount播放次数,当设为 0 时则无限循环播放,直到用户调用 [stop],默认为 1 即仅播放一次。
isPublishOut
public bool isPublishOut是否将音效混入推流中,默认 false。
ZegoAudioFrameParam
音频帧的参数对象
详情
包括音频帧的采样率、声道数
Declared in ZegoExpressDefines.h
属性
sampleRate
channel
方法
ZegoAudioFrameParam
public ZegoAudioFrameParam:sampleRate(ZEGO_AUDIO_SAMPLE_RATE_UNKNOWN), channel(ZEGO_AUDIO_CHANNEL_MONO)ZegoExpressDefines.hZegoAudioMixingData
混音数据
Declared in ZegoExpressDefines.h
属性
audioData
public unsigned char* audioData需要混入推流的音频 PCM 数据
audioDataLength
public unsigned int audioDataLength需要混入推流的音频 PCM 数据长度。如果实际填写到 audioData 中的数据不足 audioDataLength,则可以设置 audioDataLength 为 0
param
public ZegoAudioFrameParam param音频数据属性,包括采样率和声道数。目前支持 16k, 32k, 44.1k, 48k 的采样率、单声道或双声道、16 bit 位深的 PCM 数据。开发者需要显式指定音频数据属性,否则混音将不生效。
SEIData
public unsigned char* SEIDataSEI 数据,用于传递自定义数据。当 audioData 为空时,SEIData 也将不会被发送
SEIDataLength
public unsigned int SEIDataLengthSEI 数据长度
ZegoAudioSourceMixConfig
音频输入源混音配置
详情
用于在设置音频输入源的同时,配置是否将媒体播放器、音效播放器和系统声音等混入推流中。
Declared in ZegoExpressDefines.h
属性
mediaPlayerIndexList
public int* mediaPlayerIndexList媒体播放器实例索引列表。
mediaPlayerCount
public int mediaPlayerCount媒体播放器实例个数。
audioEffectPlayerIndexList
public int* audioEffectPlayerIndexList音效播放器实例索引列表。
audioEffectPlayerCount
public int audioEffectPlayerCount音效播放器实例个数。
enableMixSystemPlayout
public bool enableMixSystemPlayout是否将系统声卡采集的声音混入推流中。
enableMixEnginePlayout
public bool enableMixEnginePlayout是否将 SDK 播放的声音混到推流中。
enableMixScreenCapture
public bool enableMixScreenCapture是否将屏幕采集的声音混到推流中,输入源不能设置为屏幕采集。(仅适用于 Android 和 iOS 平台)
方法
ZegoAudioSourceMixConfig
ZegoAutoMixerTask
自动混流任务对象
详情
调用 [StartAutoMixerTask] 函数向 ZEGO RTC 服务器发起自动混流任务时,需要通过该参数配置自动混流任务,包括任务 ID、房间 ID、音频配置、输出流列表、是否开启声浪回调通知。
- 业务场景:当向 ZEGO RTC 服务器发起自动混流任务时,需要这个配置。
- 注意事项:作为调用 [StartAutoMixerTask] 函数时传入的参数。
Declared in ZegoExpressDefines.h
属性
taskID
public std::string taskID自动混流任务 ID,一个房间内需要保证混流任务 ID 的唯一性。
- 业务场景:当发起自动混流任务时,需要配置该参数。
- 是否必填:是。
- 建议值:根据需求设置。
- 取值范围:长度不超过 256 字节的字符串。
- 注意事项:一个房间内只能存在一个混流任务 ID,即保证混流任务 ID 的唯一性,建议混流任务 ID 与房间 ID 关联,可直接使用房间 ID 作为混流任务 ID。不可以包含 URL 关键字,例如 'http', '?' 等,否则推拉流会失败。仅支持数字,英文字符 和 '~', '!', '@', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '/', '\'。
roomID
public std::string roomID自动混流任务的房间 ID。
- 业务场景:当发起自动混流任务时,需要配置该参数。
- 是否必填:是。
- 建议值:根据需求设置。
- 取值范围:长度不超过 128 字节的字符串。
- 注意事项:仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。如果需要与 Web SDK 互通,请不要使用 '%'。
audioConfig
public ZegoMixerAudioConfig audioConfig自动混流任务的音频配置,可配置音频码率、音频声道,编码 ID、多路音频流混音模式。
- 业务场景:如果对自动混流任务的音频有特殊需求,比如需要调整音频码率,可根据需要调整该参数,否则不用配置。
- 是否必填:否。
- 默认值:默认音频码率为 "48 kbps", 默认音频声道为 "ZEGO_AUDIO_CHANNEL_MONO", 默认编码 ID 为 "ZEGO_AUDIO_CODEC_ID_DEFAULT",默认多路音频流混音模式为 "ZEGO_AUDIO_MIX_MODE_RAW"。
- 建议值:根据需求设置。
outputList
public std::vector<ZegoMixerOutput> outputList自动混流任务的输出流列表,列表中为 URL 或者流 ID,若为 URL 格式 目前只支持 RTMP URL 格式:rtmp://xxxxxxxx。
- 业务场景:当发起自动混流任务时,需要配置该参数指明混流输出目标。Mix stream output target
- 是否必填:是。
enableSoundLevel
public bool enableSoundLevel是否开启自动混流的声浪回调通知,开启后拉混流时可通过 [onAutoMixerSoundLevelUpdate] 回调收到每条单流的声浪信息。
- 业务场景:当发起自动混流任务时,如果需要回调流的声浪信息,需要配置该参数。
- 是否必填:否。
- 默认值:"false"。
- 建议值:根据需求设置。
streamAlignmentMode
minPlayStreamBufferLength
public int minPlayStreamBufferLength设置混流服务器拉流缓存自适应调整的区间范围下限。在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。通过调节混流服务器拉流缓存自适应调整的区间范围下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。默认不设置,即服务端使用自身配置值。只会对新的输入流设置生效,对于已经开始混流的输入流不生效。
- 取值范围:[0,10000],超过最大值混流会失败。在 web 平台,此属性不生效。
streamAlignmentVolumeControlMode
public ZegoStreamAlignmentVolumeControlMode streamAlignmentVolumeControlMode混流对齐场景音量调整模式。
streamAlignmentBaselineStreamID
public std::string streamAlignmentBaselineStreamID混流对齐场景的基准流 ID。
方法
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
背景的配置。
详情
用于在开启主体分割时,配置背景。
Declared in ZegoExpressDefines.h
属性
processType
color
public int color背景颜色,格式为 0xRRGGBB,默认为黑色即 0x000000
imageURL
public std::string imageURL背景图路径。支持本地文件绝对路径 (file://xxx)。 格式支持 png、jpg。
videoURL
public std::string videoURL- 注意事项:1. 视频将循环播放。2. 支持本地文件绝对路径 (file://xxx)。 3. 格式支持 MP4、FLV、MKV、AVI。4. 分辨率最大不超过4096px,推荐1920px以内。5. 视频时长最大不超过30秒,推荐15秒以内。6. 视频大小最大不超过50MB,推荐10MB以内。
blurLevel
方法
ZegoBackgroundConfig
public ZegoBackgroundConfig : processType(ZEGO_BACKGROUND_PROCESS_TYPE_TRANSPARENT),color(0),imageURL(""),videoURL(""),blurLevel(ZEGO_BACKGROUND_BLUR_LEVEL_MEDIUM)ZegoExpressDefines.hZegoBarrageMessageInfo
房间弹幕消息
详情
收到的房间弹幕消息对象,包括消息内容、消息 ID、发送人、发送时间
Declared in ZegoExpressDefines.h
属性
message
public std::string message消息内容
messageID
public std::string messageID消息 ID
sendTime
public unsigned long long sendTime消息的发送时间,UNIX 时间戳,单位为毫秒
fromUser
ZegoBlurInfo
虚化边界信息。
详情
混流虚化边界的配置信息。
- 业务场景:手动混流场景时,比如多人连麦直播。
Declared in ZegoExpressDefines.h
属性
topPadding
public int topPadding- 是否必填:否。
- 默认值:0。
leftPadding
public int leftPadding- 是否必填:否。
- 默认值:0。
bottomPadding
public int bottomPadding- 是否必填:否。
- 默认值:0。
rightPadding
public int rightPadding- 是否必填:否。
- 默认值:0。
方法
ZegoBlurInfo
public ZegoBlurInfo:topPadding(0),leftPadding(0),bottomPadding(0),rightPadding(0)ZegoExpressDefines.hZegoBroadcastMessageInfo
房间广播消息
详情
收到的房间广播消息对象,包括消息内容、消息 ID、发送人、发送时间
Declared in ZegoExpressDefines.h
属性
message
public std::string message消息内容
messageID
public unsigned long long messageID消息 ID
sendTime
public unsigned long long sendTime消息的发送时间,UNIX 时间戳,单位为毫秒
fromUser
ZegoCDNConfig
CDN 配置对象
详情
包括 CDN 的 URL 以及鉴权参数字符串
Declared in ZegoExpressDefines.h
属性
url
public std::string urlCDN 的 URL
authParam
public std::string authParamURL 的鉴权参数。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。
protocol
public std::string protocolURL 支持的协议,可选值为 "tcp" 和 "quic",若要使用多个,用英文的逗号分割,按顺序尝试。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。
quicVersion
public std::string quicVersionQUIC 版本。如果 [protocol] 有 QUIC 协议,需要填写该信息。如果有多个版本号,用英文的逗号分割。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。
httpdns
quicConnectMode
public int quicConnectModeQUIC 建立链接模式,若为1 则会优先使用quic 0 rtt 去建立链接,否则正常建立链接。如果 [protocol] 有 QUIC 协议,此值生效。
customParams
public std::string customParamsURL 的自定义参数。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数(可以留空或设置为空字符串)。
方法
ZegoCDNConfig
ZegoCanvas
视图对象
详情
配置 View 对象、视图模式、视图背景颜色
Declared in ZegoExpressDefines.h
属性
view
public void * viewView 对象
viewMode
backgroundColor
public int backgroundColor背景颜色,格式为 0xRRGGBB,默认为黑色即 0x000000
alphaBlend
public bool alphaBlend是否允许 alpha 混合图层渲染,默认为 false。
rotation
public int rotation逆时针旋转角度,默认为 0。媒体播放器视图不支持。
mirror
public bool mirror是否开启画面镜像,默认为 false。仅拉流视图支持,推流请使用 [setVideoMirrorMode] 接口, 媒体播放器请使用 [enableViewMirror] 接口。
viewContext
public std::string viewContext视图上下文,默认为空字符串。最大 63 字节的utf8编码字符串。一般无需关注,可用于混流的分切渲染,了解具体使用方法,需要联系ZEGO技术支持。
方法
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
色彩增强参数。
Declared in ZegoExpressDefines.h
属性
intensity
public float intensity色彩增强的强度。
- 取值范围:[0,1],取值越大,色彩增强的强度越大。
- 默认值:0。
skinToneProtectionLevel
public float skinToneProtectionLevel肤色保护程度。
- 取值范围:[0,1],取值越大,肤色保护程度越大。
- 默认值:1。
lipColorProtectionLevel
public float lipColorProtectionLevel唇色保护程度。
- 取值范围:[0,1],取值越大,唇色保护程度越大。
- 默认值:0。
方法
ZegoColorEnhancementParams
ZegoCopyrightedMusicConfig
版权音乐配置
Declared in ZegoExpressDefines.h
属性
user
public ZegoUser user用户对象实例,配置用户 ID、用户名。 注意此处设置的用户 ID 需要与登录房间时设置的用户 ID 保持一致,否则会出现请求版权音乐后台服务失败的情况。
ZegoCopyrightedMusicGetLyricConfig
获取歌词的配置。
Declared in ZegoExpressDefines.h
属性
songID
public std::string songID歌曲 ID。
vendorID
public int vendorID版权方。
方法
ZegoCopyrightedMusicGetLyricConfig
ZegoExpressDefines.hZegoCopyrightedMusicGetSharedConfig
获取分享资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
public std::string songID歌曲 ID。
vendorID
roomID
public std::string roomID房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间获取资源。
方法
ZegoCopyrightedMusicGetSharedConfig
ZegoExpressDefines.hZegoCopyrightedMusicGetSharedConfigV2
获取分享资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
public std::string songID歌曲 ID。
vendorID
public int vendorID版权方。参考 [ZegoCopyrightedMusicVendorID] 的值。
roomID
public std::string roomID房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间获取资源。
resourceType
public int resourceType版权音乐资源类型。
方法
ZegoCopyrightedMusicGetSharedConfigV2
ZegoExpressDefines.hZegoCopyrightedMusicQueryCacheConfig
查询缓存的配置。
Declared in ZegoExpressDefines.h
属性
songID
public std::string songID歌曲 ID。
resourceType
resourceQualityType
vendorID
方法
ZegoCopyrightedMusicQueryCacheConfig
ZegoExpressDefines.hZegoCopyrightedMusicQueryCacheConfigV2
查询缓存的配置。
Declared in ZegoExpressDefines.h
属性
songID
public std::string songID歌曲 ID。
resourceType
public int resourceType版权音乐资源类型。参考 [ZegoCopyrightedMusicResourceType] 的值。
resourceQualityType
public int resourceQualityType版权音乐资源音质类型。参考 [ZegoCopyrightedMusicResourceQualityType] 的值。
vendorID
public int vendorID版权方。参考 [ZegoCopyrightedMusicVendorID] 的值。
方法
ZegoCopyrightedMusicQueryCacheConfigV2
ZegoExpressDefines.hZegoCopyrightedMusicRequestConfig
获取资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
public std::string songID歌曲 ID。
mode
vendorID
roomID
public std::string roomID房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间进行点歌/点伴奏/点高潮片段。
masterID
public std::string masterID房主 ID, 当计费模式为按房主计费时必传。指明按哪个房主进行点歌/点伴奏/高潮片段
sceneID
public int sceneID场景 ID, 指明实际业务,详情可咨询 ZEGO 技术支持。
方法
ZegoCopyrightedMusicRequestConfig
ZegoExpressDefines.hZegoCopyrightedMusicRequestConfigV2
获取资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
public std::string songID歌曲 ID。
mode
public int mode计费模式。参考 [ZegoCopyrightedMusicBillingMode] 的值。
vendorID
public int vendorID版权方。参考 [ZegoCopyrightedMusicVendorID] 的值。
roomID
public std::string roomID房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID。指明在哪个房间进行点歌/点伴奏/点高潮片段。
masterID
public std::string masterID房主 ID, 当计费模式为按房主计费时必传。指明按哪个房主进行点歌/点伴奏/高潮片段
sceneID
public int sceneID场景 ID, 指明实际业务,详情可咨询 ZEGO 技术支持。
resourceType
public int resourceType版权音乐资源类型。参考 [ZegoCopyrightedMusicResourceType] 的值。
方法
ZegoCopyrightedMusicRequestConfigV2
ZegoExpressDefines.hZegoCrossAppInfo
跨 APP 拉流配置
Declared in ZegoExpressDefines.h
属性
appID
public unsigned int appID跨 App 拉流的 AppID。
token
public std::string token需要设置的 token。
方法
ZegoCrossAppInfo
ZegoCustomAudioConfig
自定义音频配置
Declared in ZegoExpressDefines.h
属性
sourceType
ZegoCustomAudioProcessConfig
自定义音频处理配置对象
详情
包括自定义音频采集类型,采样率,通道数,采样数等参数
Declared in ZegoExpressDefines.h
属性
sampleRate
channel
samples
public int samples编码一帧所需要的采样数;如果 samples = 0,则使用 SDK 内部采样数,SDK 将音频数据传递给外部前处理模块;如果 samples != 0(则samples 的有效取值在 [160, 2048] 间),SDK 会传递设定采样数长度的音频数据给外部预处理模块。
ZegoCustomPlayerResourceConfig
自定义拉流资源类型配置。
详情
自定义拉流资源类型配置。
Declared in ZegoExpressDefines.h
属性
beforePublish
publishing
afterPublish
方法
ZegoCustomPlayerResourceConfig
public ZegoCustomPlayerResourceConfig: beforePublish(ZEGO_RESOURCE_TYPE_RTC), publishing(ZEGO_RESOURCE_TYPE_RTC), afterPublish(ZEGO_RESOURCE_TYPE_RTC)ZegoExpressDefines.hZegoCustomVideoCaptureConfig
自定义视频采集配置
详情
自定义视频采集,即由开发者负责采集视频数据,并将采集到的视频数据发送给 SDK 进行视频数据的编码与推送到 ZEGO RTC 服务器。该功能一般为使用第三方美颜功能或游戏录屏直播的开发者使用。 当需要使用自定义采集功能时需要将该类的实例作为参数设置给 [enableCustomVideoCapture] 函数。 由于使用自定义视频采集时,SDK 将不再启动摄像头去采集视频数据,开发者需自行对视频采集源进行视频数据的采集。
Declared in ZegoExpressDefines.h
属性
bufferType
ZegoCustomVideoProcessConfig
自定义视频前处理配置
Declared in ZegoExpressDefines.h
属性
bufferType
ZegoCustomVideoRenderConfig
自定义视频渲染配置
详情
当需要使用自定义渲染功能时需要将该类的实例作为参数设置给 [enableCustomVideoRender] 函数。
Declared in ZegoExpressDefines.h
属性
bufferType
frameFormatSeries
public ZegoVideoFrameFormatSeries frameFormatSeries自定义视频渲染视频帧数据格式。当 bufferType 设置为 [EncodedData] 时,此成员无效
enableEngineRender
public bool enableEngineRender是否在自定义视频渲染的同时,引擎也渲染,默认为 [false]。当 bufferType 设置为 [EncodedData] 时,此成员无效
ZegoDataRecordConfig
录制配置
Declared in ZegoExpressDefines.h
属性
filePath
public std::string filePath录制文件保存路径,绝对路径,需要包含文件名, 文件名需指明后缀,目前支持 .mp4/.flv/.aac 格式文件。若多次录制为同一个路径,会覆盖同名的文件。最大长度应小于 1024 字节。
recordType
ZegoDataRecordProgress
文件录制进度
Declared in ZegoExpressDefines.h
属性
duration
public unsigned long long duration当前录制时长, 单位为毫秒
currentFileSize
public unsigned long long currentFileSize当前录制文件大小, 单位为字节
quality
ZegoDataRemoteRecordProgress
文件录制进度
Declared in ZegoExpressDefines.h
属性
duration
public unsigned long long duration当前录制时长, 单位为毫秒
currentFileSize
public unsigned long long currentFileSize当前录制文件大小, 单位为字节
quality
ZegoDeviceInfo
设备信息
详情
包括设备的 ID 与名称
Declared in ZegoExpressDefines.h
属性
deviceID
public std::string deviceID设备 ID
deviceName
public std::string deviceName设备名称
deviceExtraInfo
public std::string deviceExtraInfo设备附加信息, 格式:key="value" key2="value2"..., 以换行符 分隔键值对,以等号=分隔key和"value", value的前后还有双引号
ZegoDummyCaptureImageParams
虚拟采集图片参数。
Declared in ZegoExpressDefines.h
属性
path
public std::string path图片路径。
mode
方法
ZegoDummyCaptureImageParams
ZegoDumpDataConfig
转储数据配置。
Declared in ZegoExpressDefines.h
属性
dataType
ZegoEffectsBeautyParam
美颜配置参数
详情
配置美颜的美白、红润、磨皮、锐化参数。
Declared in ZegoExpressDefines.h
属性
whitenIntensity
public int whitenIntensity美白强度参数,取值范围[0,100],默认 50。
rosyIntensity
public int rosyIntensity红润强度参数,取值范围[0,100],默认 50。
smoothIntensity
public int smoothIntensity磨皮强度参数,取值范围[0,100],默认 50。
sharpenIntensity
public int sharpenIntensity锐化强度参数,取值范围[0,100],默认 50。
ZegoEngineConfig
引擎进阶配置
Declared in ZegoExpressDefines.h
属性
logConfig
public ZegoLogConfig* logConfig日志配置,未设置时使用默认配置(详见 [ZegoLogConfig])。
advancedConfig
public std::unordered_map<std::string, std::string> advancedConfig进阶功能配置,未设置时默认不使用任何特殊功能,如需使用,请联系 ZEGO 技术支持。
方法
ZegoEngineConfig
ZegoEngineProfile
创建引擎的配置
详情
创建引擎的配置
Declared in ZegoExpressDefines.h
属性
appID
public unsigned int appIDZEGO 为开发者签发的应用 ID,请从 ZEGO 管理控制台 https://console-express.zego.im 申请。appID 取值范围 0~4294967295。
appSign
public std::string appSign- 取值范围:'0' ~ '9', 'a' ~ 'z'。例:"9dc9a25bh2f2137446897071c8c033fa33b91c3dd2a85e0c000ae82c0dad3"。2.17.0 及以上版本 appSign 允许传空或者不传。如果传空或者不传,则必须在调用 [loginRoom] 接口登录房间时将 token 填入 [ZegoRoomConfig] 参数中,用于鉴权。token 的生成方式请参考 使用 Token 鉴权 。
scenario
public ZegoScenario scenario房间场景,SDK 会针对指定的场景的做一些音视频配置优化以达成在此场景下最优的效果。指定场景后,开发者可以使用 [setRoomScenario] 来实现在不销毁引擎 [destroyEngine] 的前提下切换其他场景。指定场景后,开发者可以调用其他 API 来继续调整音视频配置。各个场景之间的差异以及如何选择合适的场景请参考 https://doc-zh.zego.im/article/16316
callbackSwitchToMainThread
public bool callbackSwitchToMainThread仅windows 和mac 平台回调线程切ui 线程
方法
ZegoEngineProfile
public ZegoEngineProfile:appID(0), appSign(""), callbackSwitchToMainThread(true)ZegoExpressDefines.hZegoExpLowlightEnhancementParams
低照度增强参数。
Declared in ZegoExpressDefines.h
属性
mode
type
方法
ZegoExpLowlightEnhancementParams
ZegoExpressDefines.hZegoFontStyle
字体风格。
详情
字体风格配置,可用于配置字体类型、字体大小、字体颜色、字体透明度。
- 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。
Declared in ZegoExpressDefines.h
属性
type
size
public int size- 是否必填:否。
- 默认值:24。
- 取值范围:[12,100]。
color
public int color- 是否必填:否。
- 默认值:16777215(白色)。
- 取值范围:[0,16777215]。
transparency
public int transparency- 是否必填:否。
- 默认值:0。
- 取值范围:[0,100],100 为完全不透明,0 为完全透明。
border
public bool border- 是否必填:否。
- 默认值:否。
- 取值范围:是/否。
borderColor
public int borderColor- 是否必填:否。
- 默认值:0。
- 取值范围:[0,16777215]。
方法
ZegoFontStyle
public ZegoFontStyle:type(ZEGO_FONT_TYPE_SOURCE_HAN_SANS),size(24),color(16777215),transparency(0),border(false),borderColor(0)ZegoExpressDefines.hZegoImageBuffer
图像数据内容
Declared in ZegoExpressDefines.h
属性
buffer
public unsigned char * bufferBGRA32 格式的图像内容。
length
public unsigned int length图像内容大小。
width
public unsigned int width图像内容宽度。
height
public unsigned int height图像内容高度。
ZegoItemParam
物品参数。
Declared in ZegoExpressDefines.h
属性
itemID
public long long itemID物品 ID。
capacity
public unsigned int capacity物品的允许绑定用户人数。
position
createMode
方法
ZegoItemParam
ZegoLabelInfo
文本信息。
详情
文本信息配置,可用于配置文本内容、文本位置、文本风格。
- 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。
Declared in ZegoExpressDefines.h
属性
text
public std::string text- 是否必填:是。
- 取值范围:最大支持显示100个中文字符,300 个英文字符。
left
public int left- 是否必填:否。
- 默认值:0。
top
public int top- 是否必填:否。
- 默认值:0。
font
方法
ZegoLabelInfo
public ZegoLabelInfo(std::string text):text(text),left(0),top(0),font()ZegoExpressDefines.hZegoLayerBorderConfig
图层边框配置。
详情
自定义设置视图边框的大小、颜色等。
Declared in ZegoExpressDefines.h
属性
width
public unsigned int width边框大小,默认值 4, 最大值为 100。
color
public int color边框颜色,格式为 0xRRGGBB,默认为绿色即 0x00FF00
方法
ZegoLayerBorderConfig
ZegoLogConfig
日志配置
详情
调用 [setLogConfig] 自定义日志配置时,需要通过该参数配置。
- 业务场景:当需要自定义日志存储路径或日志文件大小上限时,需要这个配置。
- 注意事项:无。
Declared in ZegoExpressDefines.h
属性
logPath
public std::string logPath用于自定义日志文件的存储路径。
- 业务场景:当需要自定义日志存储路径时,需要这个配置。
- 是否必填:否。
- 默认值:各平台的默认路径有所不同,具体参考官网文档 https://doc-zh.zego.im/faq/express_sdkLog
- 注意事项:开发者需要确保对该路径下文件的读写权限。
logSize
public unsigned long long logSize用于自定义日志文件大小上限。
- 业务场景:当需要自定义日志文件大小上限时,需要这个配置。
- 是否必填:否。
- 默认值:5MB (5 * 1024 * 1024 Bytes)。
- 取值范围:最小1MB (1 * 1024 * 1024 Bytes),最大100M (100 * 1024 * 1024 Bytes),0表示不需要写日志。
- 注意事项:日志文件大小上限越大,承载的日志信息越多,但是日志上传时间也会更长。
logCount
public unsigned int logCount日志文件个数。默认是 3 个。取值范围是 [3, 20]
方法
ZegoLogConfig
ZegoMediaDataPublisherConfig
用于媒体数据推流器配置。
详情
用于在创建媒体数据推流器时,配置创建参数。
Declared in ZegoExpressDefines.h
属性
channel
public int channel用于指定推流器的推流通道号。
mode
ZegoMediaPlayerMediaInfo
媒体文件媒体信息。
详情
媒体文件视频分辨率等媒体信息。
Declared in ZegoExpressDefines.h
属性
width
public int width视频分辨率高度。
height
public int height视频分辨率高度。
frameRate
public int frameRate视频帧率。
方法
ZegoMediaPlayerMediaInfo
ZegoMediaPlayerResource
用于指定播放器的多媒体资源。
详情
用于在加载多媒体资源时,配置加载参数。
Declared in ZegoExpressDefines.h
属性
loadType
startPosition
public unsigned long long startPosition开始播放的进度。
alphaLayout
filePath
public std::string filePath文件资源的路径。本地资源路径或网络资源的 URL,不能传入 nil 或 ""。Android 可通过 Uri 方式进行传参。
memory
public unsigned char * memory二进制数据内存。
memoryLength
public int memoryLength二进制数据内存长度。
resourceID
public std::string resourceID从版权音乐模块获取的资源 ID。
onlineResourceCachePath
public std::string onlineResourceCachePath在线资源缓存路径,utf8 编码格式。
maxCachePendingLength
public long long maxCachePendingLength在线资源最大的缓存待使用长度,单位 byte,最小设置 500K(500 * 1024),默认0-不做限制,尝试缓存整个文件。
方法
ZegoMediaPlayerResource
ZegoMediaPlayerStatisticsInfo
播放器播放统计信息。
详情
播放器播放统计信息。
Declared in ZegoExpressDefines.h
属性
videoSourceFps
public double videoSourceFps视频读取帧率。
videoDecodeFps
public double videoDecodeFps视频解码帧率。
videoRenderFps
public double videoRenderFps视频渲染帧率。
audioSourceFps
public double audioSourceFps音频读取帧率。
audioDecodeFps
public double audioDecodeFps音频解码帧率。
audioRenderFps
public double audioRenderFps音频渲染帧率。
方法
ZegoMediaPlayerStatisticsInfo
ZegoMediaSideInfo
SEI 回调信息
Declared in ZegoExpressDefines.h
属性
streamID
public std::string streamID流 ID
SEIData
public const unsigned char* SEIDataSEI 数据
SEIDataLength
public unsigned int SEIDataLengthSEI 数据的长度
timestampNs
public long long timestampNs时间戳
moduleType
public int moduleTypeSEI 来源模块,请联系 ZEGO 技术支持。
ZegoMixerAudioConfig
混流音频配置
详情
配置混流任务的音频码率、声道数、音频编码
Declared in ZegoExpressDefines.h
属性
bitrate
public int bitrate音频码率,单位为 kbps,默认为 48 kbps,开始混流任务后不能修改
channel
codecID
mixMode
public ZegoAudioMixMode mixMode多路音频流混音模式。若 [ZegoAudioMixMode] 选择为 [Focused],SDK 将会选择 4 路已设置 [isAudioFocus] 的输入流作为焦点语音突出,若未选择或选择少于 4 路,则会自动补齐 4 路。在 web 平台,此属性不生效。
方法
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
设置混流中单条输入流的图片信息。
详情
为单条输入流的内容设置图片,用于替代视频,即当使用图片时不显示视频。图片复用的 [ZegoMixerInput] 中的 layout 布局。
- 业务场景:开发者在视频连麦过程中,需要暂时关闭摄像头显示图像,或音频连麦时,显示图片等。
- 支持版本:2.19.0 及以上。
- 使用限制:图片大小限制在 1M 以内。
Declared in ZegoExpressDefines.h
属性
url
public std::string url图片路径,不为空显示图片,否则显示视频。支持 JPG 和 PNG 格式。支持 2 种使用方式:1. URI:将图片提供给 ZEGO 技术支持进行配置,配置完成后会提供图片 URI,例如:preset-id://xxx.jpg。2. URL:仅支持 HTTP 协议。
displayMode
public int displayMode图片显示模式。0:默认值。当 url 不为空时,覆盖视频内容,显示图片。1:根据摄像头状态,判断是否显示图片。摄像头关闭,显示图片。摄像头打开,显示视频内容(无需手动清空 url 参数)。2:根据输入流是否有视频数据,判断是否显示图片。输入流连续3秒无视频数据时,显示图片。判断无视频数据时长默认为3秒,若需额外配置请联系 ZEGO 技术支持。输入流有视频数据时,显示视频内容。
方法
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
混流输入
详情
配置混流输入的流 ID、输入类型、流的布局
Declared in ZegoExpressDefines.h
属性
streamID
public std::string streamID- 注意事项:不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '-', '_'。
contentType
layout
soundLevelID
public unsigned int soundLevelID当混流任务开启了声浪回调时,需要为每条输入流指定唯一的 soundLevelID
volume
public unsigned int volume输入流音量, 有效范围 [0, 200], 默认是 100。
isAudioFocus
public bool isAudioFocus当前输入流是否开启焦点语音,开启了会突出此路流的声音。
audioDirection
public int audioDirection声音的朝向。有效的朝向是 [0, 360]。-1 表示关闭该功能。默认是 -1。在 web 平台,此属性不生效。
label
renderMode
imageInfo
cornerRadius
public unsigned int cornerRadius视频画面圆角半径,单位 px。
- 是否必填:否。
- 取值范围:不超过 [layout] 参数设置的视频画面的宽高。
- 默认值:0。
advancedConfig
public std::map<std::string, std::string> advancedConfig设置高级配置。请联系 ZEGO 技术支持。在 web 平台,此属性不生效。
blurInfo
方法
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
混流输出对象,目前一个混流任务最多只支持 4 路不同分辨率的视频流。
详情
配置混流输出的目标 URL 或流 ID
Declared in ZegoExpressDefines.h
属性
target
public std::string target混流输出目标,URL 或者流 ID,若为 URL 格式 目前只支持 RTMP URL 格式:rtmp://xxxxxxxx, 且不能传入两个相同的混流输出的地址。
videoConfig
targetRoom
方法
ZegoMixerOutput
public ZegoMixerOutput : videoConfig(), targetRoom("", "")ZegoExpressDefines.hZegoMixerOutput
public ZegoMixerOutput(std::string target) : target(target), videoConfig, targetRoom("", "")ZegoExpressDefines.hZegoMixerOutputRoomInfo
混流中输出流的房间信息。
详情
为单条输出流设置房间信息;能将混流输出流增加到指定房间,让房间内的用户接收到房间内流增加的通知。
- 业务场景:手动混流场景,比如多人连麦直播。
- 支持版本:3.18.0 及以上。
- 使用限制:不支持混流过程中动态更新。
Declared in ZegoExpressDefines.h
属性
roomID
public std::string roomID指定输出流的房间ID。需要保证开始混流时房间已存在。
userID
public std::string userID指定输出流的用户ID。虚拟用户id,仅用于流新增通知,不会触发 [onRoomUserUpdate]。不建议使用与房间内实际用户相同的 userID,避免与 SDK 的流新增行为产生冲突。
方法
ZegoMixerOutputRoomInfo
public ZegoMixerOutputRoomInfo(const std::string& roomID, const std::string& userID):roomID(roomID), userID(userID)ZegoExpressDefines.hZegoMixerOutputVideoConfig
混流输出视频配置。
详情
配置混流输出的视频参数,编码格式、码率。
- 业务场景:手动混流场景,比如多人连麦直播。
Declared in ZegoExpressDefines.h
属性
videoCodecID
bitrate
public int bitrate混流输出视频码率,单位为 kbps。默认值为 [ZegoMixerVideoConfig] 中配置的 bitrate。
encodeProfile
encodeLatency
public int encodeLatency混流输出视频编码延时,有效值范围 [0, 2000], 单位毫秒。默认值为 0。
enableLowBitrateHD
public bool enableLowBitrateHD开启高清低码,默认值为 false
方法
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
混流任务对象
详情
本类为混流任务的配置类,当向 ZEGO RTC 服务器发起混流任务的请求时,需要这个混流任务的配置。 本类即描述这次混流任务的详细配置信息。
Declared in ZegoExpressDefines.h
属性
taskID
public std::string taskID混流任务 ID
audioConfig
videoConfig
inputList
outputList
watermark
whiteboard
backgroundColor
public int backgroundColor混流任务的背景色,颜色值对应 RGBA 为 0xRRGGBBAA,目前不支持设置背景色的透明度,0xRRGGBBAA 中的 AA 为 00 即可。例如:选取 RGB 为 #87CEFA 作为背景色,此参数传 0x87CEFA00。
backgroundImageURL
public std::string backgroundImageURL混流任务的背景图 URL
enableSoundLevel
public bool enableSoundLevel是否开启混流的声浪回调通知,开启后拉混流时可通过 [onMixerSoundLevelUpdate] 回调收到每条单流的声浪信息
streamAlignmentMode
userData
public const unsigned char* userData用户自定义数据,长度不超过 1000 字节,设置后拉流方可通过监听 [onPlayerRecvSEI] 的回调获取 SEI 内容。
userDataLength
public unsigned int userDataLength用户自定义数据长度,不超过 1000。注意 SDK 只读取长度为 userDataLength 的数据,如果 userDataLength 大于 userData 实际长度,则 SDK 按照 userData 实际长度读取数据
advancedConfig
public std::unordered_map<std::string, std::string> advancedConfig设置高级配置,如可用于指定视频编码等功能。如需使用,联系 ZEGO 技术支持。
minPlayStreamBufferLength
public int minPlayStreamBufferLength设置混流服务器拉流缓存自适应调整的区间范围下限。在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。通过调节混流服务器拉流缓存自适应调整的区间范围下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。默认不设置,即服务端使用自身配置值。只会对新的输入流设置生效,对于已经开始混流的输入流不生效。
- 取值范围:[0,10000],超过最大值混流会失败。在 web 平台,此属性不生效。
mixImageCheckMode
方法
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
混流视频配置
详情
配置混流任务的视频参数,帧率、码率、分辨率
Declared in ZegoExpressDefines.h
属性
width
public int width视频分辨率宽
height
public int height视频分辨率高
fps
public int fps视频帧率,开始混流任务后不能修改
bitrate
public int bitrate视频码率,单位为 kbps
quality
public int quality视频质量,视频码率控制模式参数设置为恒定质量时此设置值有效,有效值范围 [0,51],默认值是 23。若想视频质量好点,在 23 的基础上降低质量值测试调整。若想文件大小小一点,在 23 的基础上升高质量值测试调整。以 x 值下的文件大小为例, x + 6 值下的文件大小是 x 值下文件大小的一半,x - 6 值下的文件大小是 x 值下文件大小的两倍。在 web 平台,此属性不生效。
rateControlMode
方法
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
混流输入白板对象
详情
配置混流输入的白板 ID、宽高比、布局。
Declared in ZegoExpressDefines.h
属性
whiteboardID
public unsigned long long whiteboardID白板 ID。
horizontalRatio
public int horizontalRatio白板原始宽高比(宽),默认宽高比为 16:9。
verticalRatio
public int verticalRatio白板原始宽高比(高),默认宽高比为 16:9。
isPPTAnimation
public bool isPPTAnimation白板是否会加载动态 PPT 文件,默认值为 false。
layout
zOrder
public int zOrder白板视图层级。
backgroundColor
public int backgroundColor白板的背景颜色。默认是 0xF1F3F400 (灰色)。 颜色值对应 RGBA 为 0xRRGGBBAA,目前不支持设置背景色的透明度,0xRRGGBBAA 中的 AA 为 00 即可。例如:选取 RGB 为 #87CEFA 作为背景色,此参数传 0x87CEFA00。
方法
ZegoMixerWhiteboard
ZegoNetWorkResourceCache
媒体播放器网络缓存信息
Declared in ZegoExpressDefines.h
属性
time
public unsigned int time已缓存的可播放时长, 单位 ms
size
public unsigned int size已缓存的可播放大小, 单位 byte
ZegoNetworkProbeConfig
网络探测配置
Declared in ZegoExpressDefines.h
属性
enableTraceroute
public bool enableTraceroute是否进行路由跟踪,开启路由跟踪将会显著增加网络探测时间
ZegoNetworkProbeHttpResult
http探测结果
Declared in ZegoExpressDefines.h
属性
errorCode
public int errorCodehttp 探测错误码,0表示连接正常
requestCostTime
public unsigned int requestCostTimehttp 请求消耗时常,单位毫秒
ZegoNetworkProbeResult
网络探测结果
Declared in ZegoExpressDefines.h
属性
httpProbeResult
tcpProbeResult
udpProbeResult
tracerouteResult
ZegoNetworkProbeTcpResult
tcp探测结果
Declared in ZegoExpressDefines.h
属性
errorCode
public int errorCodetcp 探测错误码,0表示连接正常
rtt
public unsigned int rtttcp rtt,单位毫秒
connectCostTime
public unsigned int connectCostTimetcp 建立连接消耗时常,单位毫秒
ZegoNetworkProbeTracerouteResult
路由跟踪结果
详情
最多jump 30次。traceroute 结果供参考,不代表最终网络连通结果,优先已http,tcp,udp为准。
Declared in ZegoExpressDefines.h
属性
errorCode
public int errorCode路由跟踪错误码,0表示正常
tracerouteCostTime
public unsigned int tracerouteCostTime路由跟踪所消耗的时常,单位毫秒
ZegoNetworkProbeUdpResult
udp探测结果
Declared in ZegoExpressDefines.h
属性
errorCode
public int errorCodeudp 探测错误码,0表示连接正常
rtt
public unsigned int rttSDK 向服务器发送 udp 数据并收到回复所消耗的时常,单位毫秒
ZegoNetworkSpeedTestConfig
网络测速配置
Declared in ZegoExpressDefines.h
属性
testUplink
public bool testUplink是否进行上行测速
expectedUplinkBitrate
public int expectedUplinkBitrate单位 kbps。用于确定网络上行环境是否适合推送指定码率的数据,建议用推流的码率来测试。
testDownlink
public bool testDownlink是否进行下行测速
expectedDownlinkBitrate
public int expectedDownlinkBitrate单位 kbps。用于确定网络下行环境是否适合拉取指定码率的数据,建议用推流的码率来测试。
ZegoNetworkSpeedTestQuality
网络测速质量
Declared in ZegoExpressDefines.h
属性
connectCost
public unsigned int connectCost连接服务器耗时,单位毫秒。测速过程中如果网络连接断开会自动发起重连,此变量会相应更新。
rtt
public unsigned int rttrtt,单位毫秒
packetLostRate
public double packetLostRate丢包率,单位为百分比,0.0 ~ 1.0
quality
ZegoNetworkTimeInfo
网络时间戳信息
Declared in ZegoExpressDefines.h
属性
timestamp
public unsigned long long timestamp同步后的网络时间戳,0表示尚未同步
maxDeviation
public int maxDeviation最大误差
ZegoObjectSegmentationConfig
主体分割的配置。
详情
用于在开启主体分割时,配置参数。
Declared in ZegoExpressDefines.h
属性
objectSegmentationType
backgroundConfig
方法
ZegoObjectSegmentationConfig
public ZegoObjectSegmentationConfig : objectSegmentationType(ZEGO_OBJECT_SEGMENTATION_TYPE_ANY_BACKGROUND)ZegoExpressDefines.hZegoPerformanceStatus
系统性能监控状态
Declared in ZegoExpressDefines.h
属性
cpuUsageApp
public double cpuUsageApp当前 App 的 CPU 使用率,取值范围 [0, 1]
cpuUsageSystem
public double cpuUsageSystem当前系统的 CPU 使用率,取值范围 [0, 1]
memoryUsageApp
public double memoryUsageApp当前 App 的运行内存使用率,取值范围 [0, 1]
memoryUsageSystem
public double memoryUsageSystem当前系统的运行内存使用率,取值范围 [0, 1]
memoryUsedApp
public double memoryUsedApp当前 App 的运行内存使用量,单位为 MB
ZegoPlayStreamQuality
拉流质量对象
详情
音视频参数与网络质量等
Declared in ZegoExpressDefines.h
属性
videoRecvFPS
public double videoRecvFPS视频接收帧率,单位为 f/s
videoDejitterFPS
public double videoDejitterFPS视频抗抖动帧率,单位为 f/s (1.17.0 及以上版本支持)
videoDecodeFPS
public double videoDecodeFPS视频解码帧率,单位为 f/s
videoRenderFPS
public double videoRenderFPS视频渲染帧率,单位为 f/s
videoKBPS
public double videoKBPS视频码率,单位为 kbps
videoBreakRate
public double videoBreakRate视频卡顿次数,回调周期内的卡顿次数(1.17.0 及以上版本支持)
audioRecvFPS
public double audioRecvFPS音频接收帧率,单位为 f/s
audioDejitterFPS
public double audioDejitterFPS音频抗抖动帧率,单位为 f/s (1.17.0 及以上版本支持)
audioDecodeFPS
public double audioDecodeFPS音频解码帧率,单位为 f/s
audioRenderFPS
public double audioRenderFPS音频渲染帧率,单位为 f/s
audioKBPS
public double audioKBPS音频码率,单位为 kbps
audioBreakRate
public double audioBreakRate音频卡顿次数,回调周期内的卡顿次数 (1.17.0 及以上版本支持)
mos
public double mos音频 MOS (平均主观意见分) 评估方法对拉流音频的质量评分,取值范围 [-1, 5],其中 -1 表示未知,[0, 5] 表示有效的评分,分数越高,音频质量越好。评分对应的主观感受请查阅 https://doc-zh.zego.im/article/1074#4_4 (2.16.0 及以上版本支持)
rtt
public int rtt服务端至本端的延迟,单位为毫秒
packetLostRate
public double packetLostRate丢包率,单位为百分比,0.0 ~ 1.0
peerToPeerDelay
public int peerToPeerDelay端到端延迟,单位为毫秒
peerToPeerPacketLostRate
public double peerToPeerPacketLostRate端到端丢包率,单位为百分比,0.0 ~ 1.0
level
delay
public int delay本端接收到数据后到播放的延迟,单位为毫秒
avTimestampDiff
public int avTimestampDiff- 支持版本:1.19.0 及以上
isHardwareDecode
public bool isHardwareDecode是否开启硬件解码
videoCodecID
totalRecvBytes
public double totalRecvBytes已接收的总字节数,包括音频、视频和 SEI 等
audioRecvBytes
public double audioRecvBytes已接收的音频字节数
videoRecvBytes
public double videoRecvBytes已接收的视频字节数
audioCumulativeBreakCount
public unsigned int audioCumulativeBreakCount累计音频卡顿次数 (2.9.0 及以上版本支持)
audioCumulativeBreakTime
public unsigned int audioCumulativeBreakTime累计音频卡顿时长,单位为毫秒 (2.9.0 及以上版本支持)
audioCumulativeBreakRate
public double audioCumulativeBreakRate累计音频卡顿率,单位为百分比,0.0 ~ 100.0 (2.9.0 及以上版本支持)
audioCumulativeDecodeTime
public unsigned int audioCumulativeDecodeTime累计音频解码时长,单位为毫秒 (2.9.0 及以上版本支持)
videoCumulativeBreakCount
public unsigned int videoCumulativeBreakCount累计视频卡顿次数 (2.9.0 及以上版本支持)
videoCumulativeBreakTime
public unsigned int videoCumulativeBreakTime累计视频卡顿时长,单位为毫秒 (2.9.0 及以上版本支持)
videoCumulativeBreakRate
public double videoCumulativeBreakRate累计视频卡顿率,单位为百分比,0.0 ~ 1.0 (2.9.0 及以上版本支持)
videoCumulativeDecodeTime
public unsigned int videoCumulativeDecodeTime累计视频解码时长,单位为毫秒 (2.9.0 及以上版本支持)
muteVideo
public int muteVideo禁用视频, (3.13.0 及以上版本支持)
muteAudio
public int muteAudio禁用音频, (3.13.0 及以上版本支持)
ZegoPlayerConfig
拉流进阶配置。
详情
配置资源策略模式、CDN 配置以及其他高级配置。
Declared in ZegoExpressDefines.h
属性
resourceMode
cdnConfig
public ZegoCDNConfig * cdnConfig拉流的 CDN 配置,若设置后,则按照 URL 拉流而不是按照 streamID 拉流,此后 streamID 仅作为 SDK 内部回调的标识。
roomID
public std::string roomID房间 ID。仅在多房间模式下需要填写,即指明这条流需要跟哪个房间绑定。单房间模式下此参数将被忽略。
videoCodecID
sourceResourceType
codecTemplateID
public int codecTemplateID预配置的编解码器模板,若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。
resourceSwitchMode
public ZegoStreamResourceSwitchMode resourceSwitchMode拉流资源切换策略模式,默认为 ZegoStreamResourceSwitchModeDefault
resourceWhenStopPublish
public ZegoStreamResourceType resourceWhenStopPublish下麦时切换的拉流资源类型,默认为 ZegoStreamResourceTypeDefault。只有用户设置 [resourceMode] 为 ZegoStreamResourceModeDefaut 时,且 [resourceSwitchMode] 为 ZegoStreamResourceSwitchModeDefault 或者 ZegoStreamResourceSwitchModeSwitchToRTC,该设置生效。
adaptiveSwitch
public int adaptiveSwitch是否开启流的自适应切换,1 表示开启,0 表示关闭。仅 [resourceMode] 为 ZegoStreamResourceModeOnlyL3 时有效。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。
adaptiveTemplateIDList
public std::vector<int> adaptiveTemplateIDList流的自适应转码模板ID列表。若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。
customResourceConfig
public ZegoCustomPlayerResourceConfig customResourceConfig当 [resourceMode] 为 ZegoStreamResourceModeCustom 时的拉流资源类型配置。
switchStreamConfig
public ZegoSwitchPlayingStreamConfig switchStreamConfig供 [switchPlayingStream] 接口使用的扩展参数。
方法
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
用户位置坐标
Declared in ZegoExpressDefines.h
属性
coordinate
public float[3] coordinate自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
motionOrientation
cameraOrientation
ZegoPositionOrientation
朝向。
Declared in ZegoExpressDefines.h
属性
axisForward
public float[3] axisForward自身坐标系前轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisRight
public float[3] axisRight自身坐标系右轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
axisUp
public float[3] axisUp自身坐标系上轴的单位向量,参数是长度为 3 的 float 数组,三个值依次表示前、右、上的坐标值。
ZegoProxyInfo
代理信息。
详情
配置代理信息。
Declared in ZegoExpressDefines.h
属性
ip
public std::string ipip 地址。本地代理下:由开发者配置的本地代理 ip。云代理下:由 ZEGO 提供的代理 ip(域名、ip 二选一即可)。
port
public unsigned int portport 端口。本地代理下:由开发者配置的本地代理端口。云代理下:由 ZEGO 提供的代理端口。
hostName
public std::string hostName域名。本地代理下:由开发者配置的本地代理域名。云代理下:由 ZEGO 提供的代理域名 (域名、ip 二选一即可)。
userName
public std::string userName代理鉴权用户名。本地代理下:由开发者配置的本地代理的鉴权用户名,如没有可忽略。云代理下:可忽略。
password
public std::string password代理鉴权密码。本地代理下:由开发者配置的本地代理的鉴权密码,如没有可忽略。云代理下:可忽略。
方法
ZegoProxyInfo
public ZegoProxyInfo:ip(""), port(0), hostName(""), userName(""), password("")ZegoExpressDefines.hZegoPublishDualStreamConfig
大小流的配置信息
Declared in ZegoExpressDefines.h
属性
streamType
encodeWidth
public int encodeWidth需要调整的视频分辨率宽度
encodeHeight
public int encodeHeight需要调整的视频分辨率高度
fps
public int fps需要调整的视频帧率
bitrate
public int bitrate需要调整的视频码率,单位为 kbps
ZegoPublishStreamQuality
推流质量对象
详情
音视频参数与网络质量等
Declared in ZegoExpressDefines.h
属性
videoCaptureFPS
public double videoCaptureFPS视频采集帧率,单位为 f/s
videoEncodeFPS
public double videoEncodeFPS视频编码帧率,单位为 f/s
videoSendFPS
public double videoSendFPS视频发送帧率,单位为 f/s
videoKBPS
public double videoKBPS视频码率,单位为 kbps
audioCaptureFPS
public double audioCaptureFPS音频采集帧率,单位为 f/s
audioSendFPS
public double audioSendFPS音频发送帧率,单位为 f/s
audioKBPS
public double audioKBPS音频码率,单位为 kbps
rtt
public int rtt本端至服务端的延迟,单位为毫秒
packetLostRate
public double packetLostRate丢包率,单位为百分比,0.0 ~ 1.0
level
isHardwareEncode
public bool isHardwareEncode是否开启硬件编码
videoCodecID
totalSendBytes
public double totalSendBytes已发送的总字节数,包括音频、视频和SEI等
audioSendBytes
public double audioSendBytes已发送的音频字节数
videoSendBytes
public double videoSendBytes已发送的视频字节数
audioTrafficControlRate
public int audioTrafficControlRate音频流控比例,单位为百分比,0 ~ 100,-1 表示未推流成功,值越大表示流控影响越大。
videoTrafficControlRate
public int videoTrafficControlRate视频流控比例,单位为百分比,0 ~ 100,-1 表示未推流成功,值越大表示流控影响越大。
ZegoPublisherConfig
推流进阶配置
详情
配置房间 ID
Declared in ZegoExpressDefines.h
属性
roomID
public std::string roomID房间 ID, 单房间模式可不传,多房间模式时必须传对应房间的 ID
forceSynchronousNetworkTime
public int forceSynchronousNetworkTime推流时是否同步网络时间,1-同步 0-不同步。且必须与 setStreamAlignmentProperty配合使用。用于在混流服务或拉流端对多条流进行对齐,比如 KTV 的合唱场景。
streamCensorshipMode
public ZegoStreamCensorshipMode streamCensorshipMode推流时,审查流的模式。默认不审查。如需要使用此功能,需要联系ZEGO技术支持。
streamCensorFlag
public int streamCensorFlag审查标记,使用此功能需要联系 ZEGO 技术支持
codecNegotiationType
public ZegoCapabilityNegotiationType codecNegotiationType编解码能力协商模式。默认不参考能力协商结果。如需要使用此功能,需要联系ZEGO技术支持。
streamTitle
public std::string streamTitle流标题,长度不超过 255 字节的utf8编码字符串。
方法
ZegoPublisherConfig
public ZegoPublisherConfig: roomID(""), forceSynchronousNetworkTime(0), streamCensorshipMode(ZEGO_STREAM_CENSORSHIP_MODE_NONE), streamCensorFlag(0), codecNegotiationType(ZEGO_CAPABILITY_NEGOTIATION_TYPE_NONE)ZegoExpressDefines.hZegoPublisherTakeSnapshotConfig
推流画面截图配置。
Declared in ZegoExpressDefines.h
属性
position
方法
ZegoPublisherTakeSnapshotConfig
ZegoExpressDefines.hZegoReceiveRangeParam
接收范围配置。
Declared in ZegoExpressDefines.h
属性
min
public float min3D 音效具有衰减效果的最小距离值,该值需 >= 0 且 <= max, 默认值为 0。
max
public float max接收的最大范围,该值需 >= min, 默认值为 0。
方法
ZegoReceiveRangeParam
ZegoRect
视图相关所使用的坐标
Declared in ZegoExpressDefines.h
属性
x
public int x矩形左上角在坐标系 X 轴上的值
y
public int y矩形左上角在坐标系 Y 轴上的值
width
public int width矩形宽度
height
public int height矩形高度
方法
ZegoRect
ZegoRect
public ZegoRect(int x, int y, int w, int h) : x(x), y(y), width(w), height(h)ZegoExpressDefines.hZegoReverbAdvancedParam
音频混响高级参数
详情
开发者可以使用 SDK 的内置预置来改变混响的参数。
Declared in ZegoExpressDefines.h
属性
roomSize
public float roomSize房间大小(百分比),取值范围 [0.0, 100.0],用于控制产生混响模拟的 “房间” 的大小,房间越大,混响越强
reverberance
public float reverberance余响(百分比),取值范围 [0.0, 100.0],用于控制混响的拖尾长度
damping
public float damping混响阻尼(百分比),取值范围 [0.0, 100.0],控制混响的衰减程度,阻尼越大,衰减越大
wetOnly
public bool wetOnly只有湿信号。设置只输出混响声音,不叠加原始输入声音,默认是false。
wetGain
public float wetGain湿信号增益(dB),取值范围 [-20.0, 10.0]
dryGain
public float dryGain干信号增益(dB),取值范围 [-20.0, 10.0]
toneLow
public float toneLow低频衰减,默认为不衰减(100%)
toneHigh
public float toneHigh高频衰减,默认为不衰减(100%)
preDelay
public float preDelay初始延迟时间(ms)。取值范围[0, 200]
stereoWidth
public float stereoWidth立体声宽度(百分比),默认值为 0%
方法
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
音频混响回声参数
Declared in ZegoExpressDefines.h
属性
inGain
public float inGain输入音频信号的增益,取值范围 [0.0, 1.0]
outGain
public float outGain输出音频信号的增益,取值范围 [0.0, 1.0]
numDelays
public int numDelays回声数量,取值范围 [0, 7]
delay
public int[7] delay回声信号分别的延时,单位为毫秒,取值范围 [0, 5000] ms
decay
public float[7] decay回声信号分别的衰减系数,取值范围 [0.0, 1.0]
ZegoReverbParam
音频混响参数
详情
开发者可以使用 SDK 的内置预置来改变混响的参数。
Declared in ZegoExpressDefines.h
属性
roomSize
public float roomSize房间大小,取值范围 [0.0, 1.0],用于控制产生混响模拟的 “房间” 的大小,房间越大,混响越强
reverberance
public float reverberance余响,取值范围 [0.0, 0.5],用于控制混响的拖尾长度
damping
public float damping混响阻尼,取值范围 [0.0, 2.0],控制混响的衰减程度,阻尼越大,衰减越大
dryWetRatio
public float dryWetRatio干湿比,取值范围大于等于 0.0,控制混响与直达声和早期反射声之间的比 例,干(dry)的部分默认定为1,当干湿比设为较小时,湿(wet)的比例较大,此时混响较强
ZegoRoiRect
ROI 功能所使用的矩形坐标。
Declared in ZegoExpressDefines.h
属性
x
public int x矩形左上角在坐标系 X 轴上的值
y
public int y矩形左上角在坐标系 Y 轴上的值
width
public int width矩形宽度
height
public int height矩形高度
strength
public int strengthROI 强度,当前支持的取值范围是 [0, 4],0 为无效果,4 为最强。
ZegoRoomConfig
房间进阶配置
详情
配置房间的最大用户数量、鉴权 token 等
Declared in ZegoExpressDefines.h
属性
maxMemberCount
public unsigned int maxMemberCount房间最大用户数量,传 0 视为不限制,默认无限制
isUserStatusNotify
public bool isUserStatusNotify是否开启用户进出房间回调通知 [onRoomUserUpdate],默认关闭。若开发者需要使用 ZEGO 房间用户广播通知,请确保每个登录的用户都将此标记设置为true
token
public std::string token由开发者业务服务器下发的 token,用以保证安全性,生成规则请参考 使用 Token 鉴权,默认为空字符串,即不鉴权。2.17.0 及以上版本如果调用 [createEngine] 接口创建引擎时未传入appSign,或者appSign为空,则登录房间时必须设置此参数用于鉴权。
capabilityNegotiationTypes
public unsigned int capabilityNegotiationTypes能力协商使能掩码标记位,参考 [ZegoRoomCapabilityNegotiationTypesBitMask] 枚举;当转换为二进制时,0b01 即 1 << 0 表示开启房间内全员协商, 0b10 即 1 << 1 表示开启麦上用户协商。掩码可组合以使不同的协商方式同时开启。
roomType
public unsigned int roomType房间类型,一般情况下可以不用关注,传0即可
方法
ZegoRoomConfig
public ZegoRoomConfig:maxMemberCount(0), isUserStatusNotify(false), token(""), capabilityNegotiationTypes(0), roomType(0)ZegoExpressDefines.hZegoRoomExtraInfo
房间附加消息
Declared in ZegoExpressDefines.h
属性
key
public std::string key房间附加消息的键
value
public std::string value房间附加消息的值
updateUser
updateTime
public unsigned long long updateTime房间附加消息的更新时间,UNIX 时间戳,单位为毫秒
ZegoRoomRecvTransparentMessage
收到房间的透传消息
详情
房间透传消息,包括消息内容,发送用户,发送类型,发送模式。
Declared in ZegoExpressDefines.h
属性
sendUser
content
public std::string content收到的内容
ZegoRoomSendTransparentMessage
房间透传消息
详情
房间透传消息,包括房间id, 消息内容,发送用户,发送类型,发送模式,超时时间。
Declared in ZegoExpressDefines.h
属性
sendMode
sendType
content
public std::string content发送的内容
recvUserList
public std::vector<ZegoUser> recvUserList消息接收者列表,当sendType 指定为ZegoRoomTransparentMessageModeOnlyServer 可不填。当指定为 ZegoRoomTransparentMessageModeClientAndServer 或 ZegoRoomTransparentMessageModeOnlyClient 时,为空将发送给房间所有在线用户。
timeOut
public int timeOut消息的发送超时时间,单位s, 默认10s。
方法
ZegoRoomSendTransparentMessage
public ZegoRoomSendTransparentMessage:sendMode(ZEGO_ROOM_TRANSPARENT_MESSAGE_MODE_ONLY_CLIENT), sendType(ZEGO_ROOM_TRANSPARENT_MESSAGE_NORMAL), timeOut(10)ZegoExpressDefines.hZegoRoomStreamList
房间内的流列表
详情
房间内的流列表
Declared in ZegoExpressDefines.h
属性
publishStreamList
playStreamList
ZegoRtcStatsInfo
RTC 网络统计信息
Declared in ZegoExpressDefines.h
属性
totalTxBandwidth
public double totalTxBandwidth上行总带宽,单位kbps
avgTxRtt
public unsigned int avgTxRtt上行平均 rtt,单位毫秒
avgTxPacketLostRate
public double avgTxPacketLostRate上行平均丢包率,单位为百分比,0.0 ~ 1.0
totalRxBandwidth
public double totalRxBandwidth下行总带宽,单位kbps
avgRxRtt
public unsigned int avgRxRtt下行平均 rtt,单位毫秒
avgRxPacketLostRate
public double avgRxPacketLostRate下行平均丢包率,单位为百分比,0.0 ~ 1.0
avgPeerToPeerDelay
public unsigned int avgPeerToPeerDelay平均端到端延迟,单位毫秒
ZegoSEIConfig
SEI 配置
详情
用于设置媒体增强补充信息的相关配置。
Declared in ZegoExpressDefines.h
属性
type
方法
ZegoSEIConfig
public ZegoSEIConfig(ZegoSEIType type = ZEGO_SEI_TYPE_ZEGO_DEFINED) : type(type)ZegoExpressDefines.hZegoSceneConfig
场景配置。
Declared in ZegoExpressDefines.h
属性
channelCount
public unsigned int channelCountstate_channel 通道数。
方法
ZegoSceneConfig
ZegoSceneParam
场景参数。
Declared in ZegoExpressDefines.h
属性
user
sceneID
public long long sceneID场景 ID。
templateID
public unsigned int templateID场景模板 ID。
position
broadcastMode
token
public std::string token鉴权 token。
方法
ZegoSceneParam
ZegoScenePlayerConfig
场景拉流进阶配置。
Declared in ZegoExpressDefines.h
属性
rangeSceneHandle
public int rangeSceneHandle范围场景句柄,通过 ZegoRangeScene 对象的 [getHandle] 获取。
resourceMode
cdnConfig
public ZegoCDNConfig * cdnConfig拉流的 CDN 配置,若设置后,则按照 URL 拉流而不是按照 streamID 拉流,此后 streamID 仅作为 SDK 内部回调的标识。
方法
ZegoScenePlayerConfig
public ZegoScenePlayerConfig: rangeSceneHandle(-1), resourceMode(ZEGO_STREAM_RESOURCE_MODE_DEFAULT), cdnConfig(nullptr)ZegoExpressDefines.hZegoScenePublisherConfig
场景推流进阶配置。
Declared in ZegoExpressDefines.h
属性
rangeSceneHandle
public int rangeSceneHandle范围场景句柄,通过 ZegoRangeScene 对象的 [getHandle] 获取。
方法
ZegoScenePublisherConfig
public ZegoScenePublisherConfig: rangeSceneHandle(-1)ZegoExpressDefines.hZegoSceneStreamConfig
场景推拉流模式。
Declared in ZegoExpressDefines.h
属性
enablePlayInRange
public bool enablePlayInRange是否允许拉范围内的流。
enablePublishToWorld
public bool enablePublishToWorld是否允许推流到世界。
方法
ZegoSceneStreamConfig
ZegoScreenCaptureAudioConfig
屏幕采集音频配置
Declared in ZegoExpressDefines.h
属性
enableWindowCapture
public bool enableWindowCapture是否采集窗口声音。当为 true 时,如果采集源为窗口,则采集窗口声音,当采集源为屏幕或者为 false 时,则采集系统声音。(仅支持 Windows 10 2004 及以上版本采集窗口声音)
ZegoScreenCaptureConfig
屏幕采集配置参数。
Declared in ZegoExpressDefines.h
属性
captureVideo
public bool captureVideo屏幕共享时是否采集视频。默认为 true。
captureAudio
public bool captureAudio屏幕共享时是否采集音频。默认为 true。
microphoneVolume
public unsigned int microphoneVolume设置屏幕录制时 Microphone 音频音量。范围为 0 ~ 200,默认为 100。(仅适用 iOS 平台)
applicationVolume
public unsigned int applicationVolume设置屏幕录制时 Application 音频音量。范围为 0 ~ 200,默认为 100。(适用于 iOS 和 Android 平台)
audioParam
cropRect
orientation
public ZegoScreenCaptureOrientation orientation设置屏幕录制时采集画面的朝向,将会对采集画面做固定朝向。(仅适用 iOS/Android 平台)
muteExtensMicrophone
public bool muteExtensMicrophone设置是否屏蔽扩展进程的麦克风的声音,默认为 false。(仅适用于 iOS 平台)
方法
ZegoScreenCaptureConfig
ZegoScreenCaptureSourceInfo
屏幕采集源信息。
Declared in ZegoExpressDefines.h
属性
sourceType
sourceID
public void * sourceID采集源的 ID。
sourceName
public std::string sourceName采集源名称(采用 UTF8 编码)。
thumbnailImage
iconImage
ZegoSoundLevelConfig
启动声浪监控的配置
详情
用于 startSoundLevelMonitor 函数,其中的 enableVAD 参数用于设置声浪回调是否检测 VAD,开启后结果将从 [onCapturedSoundLevelInfoUpdate] 和 [onRemoteSoundLevelInfoUpdate] 回调中体现。
- 业务场景:开发者需要判断用户说话音量是否太小时,可开启 VAD 声音检测。
- 支持版本:2.10.0 及以上。
- 注意事项:VAD 算法有性能开销,建议按需设置。
Declared in ZegoExpressDefines.h
属性
millisecond
public unsigned int millisecond声浪的监控时间周期,单位为毫秒,取值范围 [100, 3000]。默认 100 ms。
enableVAD
public bool enableVAD设置声浪回调是否包含 VAD 检测结果。
ZegoSoundLevelInfo
声浪信息对象
Declared in ZegoExpressDefines.h
属性
soundLevel
public float soundLevel音浪值
vad
public int vadStreamID 对应的流是否包含声音,0: 表示噪声,1: 表示正常声音;调用 [startSoundLevelMonitor] 时设置的 ZegoSoundLevelConfig 配置中的 enableVAD 参数设为 true 后此值才有效。
ZegoStream
音视频流对象
详情
标识一条音视频流
Declared in ZegoExpressDefines.h
属性
user
streamID
public std::string streamID- 注意事项:不可以包含 URL 关键字,否则推拉流失败。仅支持数字,英文字符 和 '-', '_'。
extraInfo
public std::string extraInfo流附加信息
ZegoStreamRelayCDNInfo
转推 CDN 信息
详情
包括转推 CDN 的 URL、转推状态等
Declared in ZegoExpressDefines.h
属性
url
public std::string urlCDN 推流的 URL
state
updateReason
stateTime
public unsigned long long stateTime状态发生的时间,UNIX 时间戳,单位为毫秒
ZegoSwitchPlayingStreamConfig
供 [switchPlayingStream] 接口使用的扩展参数。
详情
供 [switchPlayingStream] 接口使用的扩展参数。
Declared in ZegoExpressDefines.h
属性
switchType
switchTimeout
public int switchTimeout切换拉流超时时间,单位秒。
方法
ZegoSwitchPlayingStreamConfig
public ZegoSwitchPlayingStreamConfig: switchType(ZEGO_SWITCH_PLAYING_STREAM_TYPE_DEFAULT), switchTimeout(30)ZegoExpressDefines.hZegoTeamParam
小队参数。
Declared in ZegoExpressDefines.h
属性
teamID
public unsigned int teamID小队 ID。
方法
ZegoTeamParam
ZegoTestNetworkConnectivityResult
网络连通性测试结果
Declared in ZegoExpressDefines.h
属性
connectCost
public unsigned int connectCost连接耗时
ZegoTrafficControlInfo
外部编码的流控信息
Declared in ZegoExpressDefines.h
属性
width
public int width需要调整的视频分辨率宽度
height
public int height需要调整的视频分辨率高度
fps
public int fps需要调整的视频帧率
bitrate
public int bitrate需要调整的视频码率,单位为 kbps
ZegoUser
用户对象
详情
配置用户 ID 和用户名,用于标识房间内的用户。 注意 userID 在同一个 appID 下需唯一,否则登录房间时会出现互踢的情况。 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。
Declared in ZegoExpressDefines.h
属性
userID
public std::string userID- 隐私保护声明:请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 注意事项:仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。如果需要与 Web SDK 互通,请不要使用 '%'。
userName
public std::string userName用户名,最大长度不超过 256 字节的utf8编码字符串。请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
方法
ZegoUser
ZegoUser
public ZegoUser(std::string userID, std::string userName):userID(userID),userName(userName)ZegoExpressDefines.hZegoVideoConfig
视频配置
详情
配置码率、帧率、分辨率等推流用到的参数。 开发者应该注意的是,移动端与桌面端的宽高分辨率是相反的,例如,360p,移动端的分辨率为 360x640,而桌面端为 640x360。 使用外部采集时,RTC的采集和编码分辨率不能设置为0*0,不然会导致整个引擎生命周期里的推流,都没有视频数据。
Declared in ZegoExpressDefines.h
属性
captureWidth
public int captureWidth采集分辨率宽度,控制摄像头图像采集的宽度。SDK 要求设置此成员为偶数。仅摄像头启动前且没有使用自定义视频采集时,设置有效。出于性能考虑,SDK 在采集摄像头画面后、渲染预览画面之前,就将视频帧缩放为编码分辨率,因此预览画面的分辨率是编码分辨率,如果您需要预览画面的分辨率为此值,请先调用 [setCapturePipelineScaleMode] 将采集缩放模式改为 [Post]
captureHeight
public int captureHeight采集分辨率高度,控制摄像头图像采集的高度。SDK 要求设置此成员为偶数。仅摄像头启动前且没有使用自定义视频采集时,设置有效。出于性能考虑,SDK 在采集摄像头画面后、渲染预览画面之前,就将视频帧缩放为编码分辨率,因此预览画面的分辨率是编码分辨率,如果您需要预览画面的分辨率为此值,请先调用 [setCapturePipelineScaleMode] 将采集缩放模式改为 [Post]
encodeWidth
public int encodeWidth编码分辨率宽度,控制编码器编码推流的图像宽度。SDK 要求设置此成员为偶数。推流前后设置均可生效
encodeHeight
public int encodeHeight编码分辨率高度,控制编码器编码推流的图像高度。SDK 要求设置此成员为偶数。推流前后设置均可生效
fps
public int fps帧率,控制摄像头采集帧率以及编码器编码帧率的大小。推流端设置60帧,拉流端生效需联系技术支持
bitrate
public int bitrate码率,单位为 kbps。推流前后设置均可生效。SDK 会根据开发者选择的场景,自动设置适配该场景的码率。若开发者手动设置的码率超出合理范围,SDK会自动按照合理区间处理码率。如因业务需要配置高码率,请联系 ZEGO 商务。
codecID
keyFrameInterval
public int keyFrameInterval视频关键帧间隔,单位秒。
- 是否必填:否。
- 默认值:2秒。
- 取值范围:[2, 5]。
- 注意事项:仅在推流前设置有效。
方法
ZegoVideoConfig
public ZegoVideoConfig(ZegoVideoConfigPreset preset = ZEGO_VIDEO_CONFIG_PRESET_360P)ZegoExpressDefines.hZegoVideoEncodedFrameParam
编码视频帧的参数对象
详情
包括视频帧的格式、宽高等
Declared in ZegoExpressDefines.h
属性
format
isKeyFrame
public bool isKeyFrame是否为关键帧
rotation
public int rotation视频帧的逆时针旋转角度
width
public int width视频帧的画面宽
height
public int height视频帧的画面高
SEIData
public const unsigned char* SEIDataSEI 数据 (可选,若不需要传输则设置为空。不推荐使用,推荐使用 [sendSEI] 替代 )。当 format 设置为 [AVCC] 或者 [AnnexB] 时,此成员有效
SEIDataLength
public unsigned int SEIDataLengthSEI 数据的长度 (可选,若不需要传输则设置为 0 。不推荐使用,推荐使用 [sendSEI] 替代 )。当 format 设置为 [AVCC] 或者 [AnnexB] 时,此成员有效
isExternalClock
public bool isExternalClock自定义视频采集时,是否由开发者自行控制外部时间戳进行音画同步。默认为 false。当设置为 false 时,SDK 会结合音频帧和视频帧的外部时间戳进行调整,以保证音视频同步。当设置为 true 时,SDK 不会调整外部时间戳,由开发者自行结合音频帧和视频帧的外部时间戳进行调整,以保证音视频同步。
方法
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
视频帧的参数对象
详情
包括视频帧的格式、宽高等
Declared in ZegoExpressDefines.h
属性
format
strides
public int[4] strides每个平面上单行像素的字节数(此参数为 int 数组,数组长度为4,BGRA 只需考虑 strides[0],I420 需考虑 strides[0,1,2])
width
public int width视频帧的画面宽。自定义视频采集时,满足32位对齐的视频帧可获得获取最大性能,以 BGRA 为例,即期望 width * 4 是 32 的整数倍。
height
public int height视频帧的画面高
rotation
public int rotation视频帧的旋转角度,SDK 以顺时针方向旋转
ZegoVocalRangeParam
发声范围配置。
Declared in ZegoExpressDefines.h
属性
min
public float min3D 音效具有衰减效果的最小距离值,该值需 >= 0 且 <= max, 默认值为 0。
max
public float max发声的最大范围,该值需 >= min, 默认值为 0。
方法
ZegoVocalRangeParam
ZegoVoiceChangerParam
变声器参数
详情
开发者可以使用 SDK 的内置预置来改变变声器的参数。
Declared in ZegoExpressDefines.h
属性
pitch
public float pitch音调参数,取值范围 [-12.0, 12.0],数值越大声音越尖,设为 0.0 即关闭变声器。注意在 2.18.0 及更老版本上,取值范围为 [-8.0, 8.0]。
ZegoWatermark
水印对象
详情
配置一个水印的图片 URL 以及该水印在画面中的大小方位。
Declared in ZegoExpressDefines.h
属性
imageURL
public std::string imageURL水印图片路径。支持本地文件绝对路径 (file://xxx)。 格式支持 png、jpg。最大长度要小于 512 字节。
layout
方法
ZegoWatermark
ZegoWatermark
public ZegoWatermark(std::string imageURL, ZegoRect layout) :imageURL(imageURL), layout(layout)ZegoExpressDefines.h