Struct
ZegoAIVoiceChangerSpeakerInfo
AI 变声音色信息。
Declared in ZegoExpressDefines.h
属性
id
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
channel
codecID
方法
ZegoAudioConfig
public ZegoAudioConfig(ZegoAudioConfigPreset preset = ZEGO_AUDIO_CONFIG_PRESET_STANDARD_QUALITY)ZegoExpressDefines.hZegoAudioEffectPlayConfig
音效播放器播放配置
Declared in ZegoExpressDefines.h
属性
playCount
isPublishOut
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
audioDataLength
public unsigned int audioDataLength需要混入推流的音频 PCM 数据长度。如果实际填写到 audioData 中的数据不足 audioDataLength,则可以设置 audioDataLength 为 0
param
public ZegoAudioFrameParam param音频数据属性,包括采样率和声道数。目前支持 16k, 32k, 44.1k, 48k 的采样率、单声道或双声道、16 bit 位深的 PCM 数据。开发者需要显式指定音频数据属性,否则混音将不生效。
SEIData
SEIDataLength
ZegoAudioSourceMixConfig
音频输入源混音配置
详情
用于在设置音频输入源的同时,配置是否将媒体播放器、音效播放器和系统声音等混入推流中。
Declared in ZegoExpressDefines.h
属性
mediaPlayerIndexList
mediaPlayerCount
audioEffectPlayerIndexList
audioEffectPlayerCount
enableMixSystemPlayout
enableMixEnginePlayout
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
方法
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
imageURL
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
messageID
sendTime
fromUser
ZegoBroadcastMessageInfo
房间广播消息
详情
收到的房间广播消息对象,包括消息内容、消息 ID、发送人、发送时间
Declared in ZegoExpressDefines.h
属性
message
messageID
sendTime
fromUser
ZegoCDNConfig
CDN 配置对象
详情
包括 CDN 的 URL 以及鉴权参数字符串
Declared in ZegoExpressDefines.h
属性
url
authParam
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
方法
ZegoCDNConfig
ZegoCanvas
视图对象
详情
配置 View 对象、视图模式、视图背景颜色
Declared in ZegoExpressDefines.h
属性
view
viewMode
backgroundColor
alphaBlend
rotation
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
skinToneProtectionLevel
lipColorProtectionLevel
方法
ZegoColorEnhancementParams
ZegoCopyrightedMusicConfig
版权音乐配置
Declared in ZegoExpressDefines.h
属性
user
public ZegoUser user用户对象实例,配置用户 ID、用户名。 注意此处设置的用户 ID 需要与登录房间时设置的用户 ID 保持一致,否则会出现请求版权音乐后台服务失败的情况。
ZegoCopyrightedMusicGetLyricConfig
获取歌词的配置。
Declared in ZegoExpressDefines.h
属性
songID
vendorID
方法
ZegoCopyrightedMusicGetLyricConfig
ZegoCopyrightedMusicGetSharedConfig
获取分享资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
vendorID
roomID
方法
ZegoCopyrightedMusicGetSharedConfig
ZegoCopyrightedMusicGetSharedConfigV2
获取分享资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
vendorID
roomID
resourceType
方法
ZegoCopyrightedMusicGetSharedConfigV2
ZegoCopyrightedMusicQueryCacheConfig
查询缓存的配置。
Declared in ZegoExpressDefines.h
属性
songID
resourceType
resourceQualityType
vendorID
方法
ZegoCopyrightedMusicQueryCacheConfig
ZegoCopyrightedMusicQueryCacheConfigV2
查询缓存的配置。
Declared in ZegoExpressDefines.h
属性
songID
resourceType
resourceQualityType
public int resourceQualityType版权音乐资源音质类型。参考 [ZegoCopyrightedMusicResourceQualityType] 的值。
vendorID
方法
ZegoCopyrightedMusicQueryCacheConfigV2
ZegoCopyrightedMusicRequestConfig
获取资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
mode
vendorID
roomID
masterID
sceneID
方法
ZegoCopyrightedMusicRequestConfig
ZegoCopyrightedMusicRequestConfigV2
获取资源的配置。
Declared in ZegoExpressDefines.h
属性
songID
mode
vendorID
roomID
masterID
sceneID
resourceType
方法
ZegoCopyrightedMusicRequestConfigV2
ZegoCrossAppInfo
跨 APP 拉流配置
Declared in ZegoExpressDefines.h
属性
appID
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
currentFileSize
quality
ZegoDeviceInfo
设备信息
详情
包括设备的 ID 与名称
Declared in ZegoExpressDefines.h
属性
deviceID
deviceName
deviceExtraInfo
public std::string deviceExtraInfo设备附加信息, 格式:key="value" key2="value2"..., 以换行符 分隔键值对,以等号=分隔key和"value", value的前后还有双引号
ZegoDummyCaptureImageParams
虚拟采集图片参数。
Declared in ZegoExpressDefines.h
属性
path
mode
方法
ZegoDummyCaptureImageParams
ZegoDumpDataConfig
转储数据配置。
Declared in ZegoExpressDefines.h
属性
dataType
ZegoEffectsBeautyParam
美颜配置参数
详情
配置美颜的美白、红润、磨皮、锐化参数。
Declared in ZegoExpressDefines.h
属性
whitenIntensity
rosyIntensity
smoothIntensity
sharpenIntensity
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
方法
ZegoEngineProfile
public ZegoEngineProfile:appID(0), appSign(""), callbackSwitchToMainThread(true)ZegoExpressDefines.hZegoExpLowlightEnhancementParams
低照度增强参数。
Declared in ZegoExpressDefines.h
属性
mode
type
方法
ZegoExpLowlightEnhancementParams
ZegoFontStyle
字体风格。
详情
字体风格配置,可用于配置字体类型、字体大小、字体颜色、字体透明度。
- 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。
Declared in ZegoExpressDefines.h
属性
type
size
color
transparency
border
borderColor
方法
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
length
width
height
ZegoItemParam
物品参数。
Declared in ZegoExpressDefines.h
属性
itemID
capacity
position
createMode
方法
ZegoItemParam
ZegoLabelInfo
文本信息。
详情
文本信息配置,可用于配置文本内容、文本位置、文本风格。
- 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。
Declared in ZegoExpressDefines.h
属性
text
left
top
font
方法
ZegoLabelInfo
public ZegoLabelInfo(std::string text):text(text),left(0),top(0),font()ZegoExpressDefines.hZegoLayerBorderConfig
图层边框配置。
详情
自定义设置视图边框的大小、颜色等。
Declared in ZegoExpressDefines.h
属性
width
color
方法
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
方法
ZegoLogConfig
ZegoMediaDataPublisherConfig
用于媒体数据推流器配置。
详情
用于在创建媒体数据推流器时,配置创建参数。
Declared in ZegoExpressDefines.h
属性
channel
mode
ZegoMediaPlayerMediaInfo
媒体文件媒体信息。
详情
媒体文件视频分辨率等媒体信息。
Declared in ZegoExpressDefines.h
属性
width
height
frameRate
方法
ZegoMediaPlayerMediaInfo
ZegoMediaPlayerResource
用于指定播放器的多媒体资源。
详情
用于在加载多媒体资源时,配置加载参数。
Declared in ZegoExpressDefines.h
属性
loadType
startPosition
alphaLayout
filePath
memory
memoryLength
resourceID
onlineResourceCachePath
maxCachePendingLength
public long long maxCachePendingLength在线资源最大的缓存待使用长度,单位 byte,最小设置 10M(10 * 1024 * 1024),默认0-不做限制,尝试缓存整个文件。
方法
ZegoMediaPlayerResource
ZegoMediaPlayerStatisticsInfo
播放器播放统计信息。
详情
播放器播放统计信息。
Declared in ZegoExpressDefines.h
属性
videoSourceFps
videoDecodeFps
videoRenderFps
audioSourceFps
audioDecodeFps
audioRenderFps
方法
ZegoMediaPlayerStatisticsInfo
ZegoMediaSideInfo
SEI 回调信息
Declared in ZegoExpressDefines.h
属性
streamID
SEIData
SEIDataLength
timestampNs
moduleType
ZegoMixerAudioConfig
混流音频配置
详情
配置混流任务的音频码率、声道数、音频编码
Declared in ZegoExpressDefines.h
属性
bitrate
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
contentType
layout
soundLevelID
volume
isAudioFocus
audioDirection
label
renderMode
imageInfo
cornerRadius
public unsigned int cornerRadius视频画面圆角半径,单位 px。
- 是否必填:否。
- 取值范围:不超过 [layout] 参数设置的视频画面的宽高。
- 默认值:0。
advancedConfig
public std::map<std::string, std::string> advancedConfig设置高级配置。请联系 ZEGO 技术支持。在 web 平台,此属性不生效。
方法
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
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
encodeProfile
encodeLatency
enableLowBitrateHD
方法
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
audioConfig
videoConfig
inputList
outputList
watermark
whiteboard
backgroundColor
public int backgroundColor混流任务的背景色,颜色值对应 RGBA 为 0xRRGGBBAA,目前不支持设置背景色的透明度,0xRRGGBBAA 中的 AA 为 00 即可。例如:选取 RGB 为 #87CEFA 作为背景色,此参数传 0x87CEFA00。
backgroundImageURL
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
height
fps
bitrate
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
horizontalRatio
verticalRatio
isPPTAnimation
layout
zOrder
backgroundColor
public int backgroundColor白板的背景颜色。默认是 0xF1F3F400 (灰色)。 颜色值对应 RGBA 为 0xRRGGBBAA,目前不支持设置背景色的透明度,0xRRGGBBAA 中的 AA 为 00 即可。例如:选取 RGB 为 #87CEFA 作为背景色,此参数传 0x87CEFA00。
方法
ZegoMixerWhiteboard
ZegoNetWorkResourceCache
媒体播放器网络缓存信息
Declared in ZegoExpressDefines.h
属性
time
size
ZegoNetworkProbeConfig
网络探测配置
Declared in ZegoExpressDefines.h
属性
enableTraceroute
ZegoNetworkProbeHttpResult
http探测结果
Declared in ZegoExpressDefines.h
属性
errorCode
requestCostTime
ZegoNetworkProbeResult
网络探测结果
Declared in ZegoExpressDefines.h
属性
httpProbeResult
tcpProbeResult
udpProbeResult
tracerouteResult
ZegoNetworkProbeTcpResult
tcp探测结果
Declared in ZegoExpressDefines.h
属性
errorCode
rtt
connectCostTime
ZegoNetworkProbeTracerouteResult
路由跟踪结果
详情
最多jump 30次。traceroute 结果供参考,不代表最终网络连通结果,优先已http,tcp,udp为准。
Declared in ZegoExpressDefines.h
属性
errorCode
tracerouteCostTime
ZegoNetworkProbeUdpResult
udp探测结果
Declared in ZegoExpressDefines.h
属性
errorCode
rtt
ZegoNetworkSpeedTestConfig
网络测速配置
Declared in ZegoExpressDefines.h
属性
testUplink
expectedUplinkBitrate
testDownlink
expectedDownlinkBitrate
public int expectedDownlinkBitrate单位 kbps。用于确定网络下行环境是否适合拉取指定码率的数据,建议用推流的码率来测试。
ZegoNetworkSpeedTestQuality
网络测速质量
Declared in ZegoExpressDefines.h
属性
connectCost
rtt
packetLostRate
quality
ZegoNetworkTimeInfo
网络时间戳信息
Declared in ZegoExpressDefines.h
属性
timestamp
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
cpuUsageSystem
memoryUsageApp
memoryUsageSystem
memoryUsedApp
ZegoPlayStreamQuality
拉流质量对象
详情
音视频参数与网络质量等
Declared in ZegoExpressDefines.h
属性
videoRecvFPS
videoDejitterFPS
videoDecodeFPS
videoRenderFPS
videoKBPS
videoBreakRate
audioRecvFPS
audioDejitterFPS
audioDecodeFPS
audioRenderFPS
audioKBPS
audioBreakRate
mos
public double mos音频 MOS (平均主观意见分) 评估方法对拉流音频的质量评分,取值范围 [-1, 5],其中 -1 表示未知,[0, 5] 表示有效的评分,分数越高,音频质量越好。评分对应的主观感受请查阅 https://doc-zh.zego.im/article/1074#4_4 (2.16.0 及以上版本支持)
rtt
packetLostRate
peerToPeerDelay
peerToPeerPacketLostRate
level
delay
avTimestampDiff
isHardwareDecode
videoCodecID
totalRecvBytes
audioRecvBytes
videoRecvBytes
audioCumulativeBreakCount
audioCumulativeBreakTime
audioCumulativeBreakRate
public double audioCumulativeBreakRate累计音频卡顿率,单位为百分比,0.0 ~ 100.0 (2.9.0 及以上版本支持)
audioCumulativeDecodeTime
public unsigned int audioCumulativeDecodeTime累计音频解码时长,单位为毫秒 (2.9.0 及以上版本支持)
videoCumulativeBreakCount
videoCumulativeBreakTime
videoCumulativeBreakRate
public double videoCumulativeBreakRate累计视频卡顿率,单位为百分比,0.0 ~ 1.0 (2.9.0 及以上版本支持)
videoCumulativeDecodeTime
public unsigned int videoCumulativeDecodeTime累计视频解码时长,单位为毫秒 (2.9.0 及以上版本支持)
muteVideo
muteAudio
ZegoPlayerConfig
拉流进阶配置。
详情
配置资源策略模式、CDN 配置以及其他高级配置。
Declared in ZegoExpressDefines.h
属性
resourceMode
cdnConfig
public ZegoCDNConfig * cdnConfig拉流的 CDN 配置,若设置后,则按照 URL 拉流而不是按照 streamID 拉流,此后 streamID 仅作为 SDK 内部回调的标识。
roomID
videoCodecID
sourceResourceType
codecTemplateID
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
motionOrientation
cameraOrientation
ZegoPositionOrientation
朝向。
Declared in ZegoExpressDefines.h
属性
axisForward
axisRight
axisUp
ZegoProxyInfo
代理信息。
详情
配置代理信息。
Declared in ZegoExpressDefines.h
属性
ip
port
hostName
userName
password
方法
ZegoProxyInfo
public ZegoProxyInfo:ip(""), port(0), hostName(""), userName(""), password("")ZegoExpressDefines.hZegoPublishDualStreamConfig
大小流的配置信息
Declared in ZegoExpressDefines.h
属性
streamType
encodeWidth
encodeHeight
fps
bitrate
ZegoPublishStreamQuality
推流质量对象
详情
音视频参数与网络质量等
Declared in ZegoExpressDefines.h
属性
videoCaptureFPS
videoEncodeFPS
videoSendFPS
videoKBPS
audioCaptureFPS
audioSendFPS
audioKBPS
rtt
packetLostRate
level
isHardwareEncode
videoCodecID
totalSendBytes
audioSendBytes
videoSendBytes
ZegoPublisherConfig
推流进阶配置
详情
配置房间 ID
Declared in ZegoExpressDefines.h
属性
roomID
forceSynchronousNetworkTime
public int forceSynchronousNetworkTime推流时是否同步网络时间,1-同步 0-不同步。且必须与 setStreamAlignmentProperty配合使用。用于在混流服务或拉流端对多条流进行对齐,比如 KTV 的合唱场景。
streamCensorshipMode
public ZegoStreamCensorshipMode streamCensorshipMode推流时,审查流的模式。默认不审查。如需要使用此功能,需要联系ZEGO技术支持。
streamCensorFlag
codecNegotiationType
public ZegoCapabilityNegotiationType codecNegotiationType编解码能力协商模式。默认不参考能力协商结果。如需要使用此功能,需要联系ZEGO技术支持。
streamTitle
方法
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
ZegoReceiveRangeParam
接收范围配置。
Declared in ZegoExpressDefines.h
属性
min
max
方法
ZegoReceiveRangeParam
ZegoRect
视图相关所使用的坐标
Declared in ZegoExpressDefines.h
属性
x
y
width
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
reverberance
damping
wetOnly
wetGain
dryGain
toneLow
toneHigh
preDelay
stereoWidth
方法
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
outGain
numDelays
delay
decay
ZegoReverbParam
音频混响参数
详情
开发者可以使用 SDK 的内置预置来改变混响的参数。
Declared in ZegoExpressDefines.h
属性
roomSize
reverberance
damping
dryWetRatio
public float dryWetRatio干湿比,取值范围大于等于 0.0,控制混响与直达声和早期反射声之间的比 例,干(dry)的部分默认定为1,当干湿比设为较小时,湿(wet)的比例较大,此时混响较强
ZegoRoiRect
ROI 功能所使用的矩形坐标。
Declared in ZegoExpressDefines.h
属性
x
y
width
height
strength
ZegoRoomConfig
房间进阶配置
详情
配置房间的最大用户数量、鉴权 token 等
Declared in ZegoExpressDefines.h
属性
maxMemberCount
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
方法
ZegoRoomConfig
public ZegoRoomConfig:maxMemberCount(0), isUserStatusNotify(false), token(""), capabilityNegotiationTypes(0), roomType(0)ZegoExpressDefines.hZegoRoomExtraInfo
房间附加消息
Declared in ZegoExpressDefines.h
属性
key
value
updateUser
updateTime
ZegoRoomRecvTransparentMessage
收到房间的透传消息
详情
房间透传消息,包括消息内容,发送用户,发送类型,发送模式。
Declared in ZegoExpressDefines.h
属性
sendUser
content
ZegoRoomSendTransparentMessage
房间透传消息
详情
房间透传消息,包括房间id, 消息内容,发送用户,发送类型,发送模式,超时时间。
Declared in ZegoExpressDefines.h
属性
sendMode
sendType
content
recvUserList
public std::vector<ZegoUser> recvUserList消息接收者列表,当sendType 指定为ZegoRoomTransparentMessageModeOnlyServer 可不填。当指定为 ZegoRoomTransparentMessageModeClientAndServer 或 ZegoRoomTransparentMessageModeOnlyClient 时,为空将发送给房间所有在线用户。
timeOut
方法
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
avgTxRtt
avgTxPacketLostRate
totalRxBandwidth
avgRxRtt
avgRxPacketLostRate
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
方法
ZegoSceneConfig
ZegoSceneParam
场景参数。
Declared in ZegoExpressDefines.h
属性
user
sceneID
templateID
position
broadcastMode
token
方法
ZegoSceneParam
ZegoScenePlayerConfig
场景拉流进阶配置。
Declared in ZegoExpressDefines.h
属性
rangeSceneHandle
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
方法
ZegoScenePublisherConfig
public ZegoScenePublisherConfig: rangeSceneHandle(-1)ZegoExpressDefines.hZegoSceneStreamConfig
场景推拉流模式。
Declared in ZegoExpressDefines.h
属性
enablePlayInRange
enablePublishToWorld
方法
ZegoSceneStreamConfig
ZegoScreenCaptureConfig
屏幕采集配置参数。
Declared in ZegoExpressDefines.h
属性
captureVideo
captureAudio
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
方法
ZegoScreenCaptureConfig
ZegoScreenCaptureSourceInfo
屏幕采集源信息。
Declared in ZegoExpressDefines.h
属性
sourceType
sourceID
sourceName
thumbnailImage
iconImage
ZegoSoundLevelConfig
启动声浪监控的配置
详情
用于 startSoundLevelMonitor 函数,其中的 enableVAD 参数用于设置声浪回调是否检测 VAD,开启后结果将从 [onCapturedSoundLevelInfoUpdate] 和 [onRemoteSoundLevelInfoUpdate] 回调中体现。
- 业务场景:开发者需要判断用户说话音量是否太小时,可开启 VAD 声音检测。
- 支持版本:2.10.0 及以上。
- 注意事项:VAD 算法有性能开销,建议按需设置。
Declared in ZegoExpressDefines.h
属性
millisecond
enableVAD
ZegoSoundLevelInfo
声浪信息对象
Declared in ZegoExpressDefines.h
属性
soundLevel
vad
public int vadStreamID 对应的流是否包含声音,0: 表示噪声,1: 表示正常声音;调用 [startSoundLevelMonitor] 时设置的 ZegoSoundLevelConfig 配置中的 enableVAD 参数设为 true 后此值才有效。
ZegoStream
音视频流对象
详情
标识一条音视频流
Declared in ZegoExpressDefines.h
属性
user
streamID
extraInfo
ZegoStreamRelayCDNInfo
转推 CDN 信息
详情
包括转推 CDN 的 URL、转推状态等
Declared in ZegoExpressDefines.h
属性
url
state
updateReason
stateTime
ZegoSwitchPlayingStreamConfig
供 [switchPlayingStream] 接口使用的扩展参数。
详情
供 [switchPlayingStream] 接口使用的扩展参数。
Declared in ZegoExpressDefines.h
属性
switchType
方法
ZegoSwitchPlayingStreamConfig
public ZegoSwitchPlayingStreamConfig: switchType(ZEGO_SWITCH_PLAYING_STREAM_TYPE_DEFAULT)ZegoExpressDefines.hZegoTeamParam
小队参数。
Declared in ZegoExpressDefines.h
属性
teamID
方法
ZegoTeamParam
ZegoTestNetworkConnectivityResult
网络连通性测试结果
Declared in ZegoExpressDefines.h
属性
connectCost
ZegoTrafficControlInfo
外部编码的流控信息
Declared in ZegoExpressDefines.h
属性
width
height
fps
bitrate
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
encodeHeight
fps
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
rotation
width
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
height
rotation
ZegoVocalRangeParam
发声范围配置。
Declared in ZegoExpressDefines.h
属性
min
max
方法
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
layout
方法
ZegoWatermark
ZegoWatermark
public ZegoWatermark(std::string imageURL, ZegoRect layout) :imageURL(imageURL), layout(layout)ZegoExpressDefines.h
