Interface
AudioFrameOptions
音频数据回调相关配置选项
属性
frameSize
frameSize: number 每次回调的音频数据中每个声道包含的采样数据个数,只能设为下列值:256, 512, 1024, 2048, 4096, 8192, 16384。默认为 4096。
- 注意事项:frameSize 在首次设置生效。
sampleRate
sampleRate: 8000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 指定回调音频数据转换采样率,只能设为下列值:8000、16000、22050、24000、32000、44100、48000。默认是根据 AudioContext 的原采样率来设置。
channelCount
channelCount: 1 | 2 指定回调音频数据的声道数,只能设为下列值:1、2。默认是根据原数据的声道数决定。
bitDepth
bitDepth: 32 | 16 音频数据位深,只能设为下列值: 32 即 32-bit float、16 即 16-bit。默认值为 32。
BackgroundBlurOptions
背景虚化相关参数
属性
blurDegree
blurDegree: number 背景虚化等级
BackgroundVirtualOptions
虚拟背景处理相关参数
属性
source
source: HTMLImageElement objectFit
objectFit: string 图片视图处理模式,"cover" 为覆盖容器;"contain" 为显示全部内容;"fill" 为拉伸填充。默认值是 ”cover“。
BufferIntervals
buffer 间隔参数
详情
buffer 间隔参数
属性
minInterval
minInterval: number buffer 区间下限,minInterval 的可选范围在 [0, 1000] ms 区间,默认0
maxInterval
maxInterval: number buffer 区间上限,maxInterval 的可选范围在 [1000, 10000] ms 区间,默认 2000 ms
ConstraintExtend
ZegoCamera及ZegoSreen的分辨率、码率等配置的约束扩展。
- 业务场景:创建预览音视频流时约束扩展。
- 注意事项:对于四种形式,优先级为 exact > ideal >= max = min。即:
- 出现exact时,忽略其他选项。若无法满足,则采集失败
- 出现ideal,没有min、max时,尽量靠近ideal ⅰ. 若能达到,则可以浮动在 ideal ± 10 ⅱ. 若不能达到,则选用最靠近的值
- 不出现exact,出现ideal,有min时,尽量靠近ideal的同时,大于min。若无法满足大于min,则采集失败
- 不出现exact,出现ideal,有max时,尽量靠近ideal的同时,小于max。若无法满足小于max,则采集失败
- 不出现exact,出现ideal,有min和max时,尽量靠近ideal的同时,大于min且小于max。若无法满足,则采集失败
- 不出现exact,不出现ideal,出现min时,大于min。若无法满足大于min,则采集失败
- 不出现exact,不出现ideal,出现max时,小于max。若无法满足小于max,则采集失败
- 不出现exact,不出现ideal,出现min和max时,大于min且小于max。若无法满足,则采集失败。
属性
exact
exact: number 可选参数,出现该选项时忽略其他选项。严格指定采集设备最终输出的值,如果设备不支持指定的值,采集会失败。
ideal
ideal: number 可选参数,期望采集设备最终输出的值,如果设备不支持指定的值,会尽量输出一个最靠近的值。
max
max: number 可选参数,采集设备最终输出的值上限。
min
min: number 可选参数,采集设备最终输出的值下限。
ExceptionData
详情
exceptionUpdate 相关的事件信息
属性
code
message
message: string 信息描述
MediaInfo
描述播放器插件拉取 CDN 流解析到的媒体信息数据
属性
frameWidth
frameWidth: number 视频帧宽度
frameHeight
frameHeight: number 视频帧高度
frameRate
frameRate: number 视频资源的原始帧率
sampleRate
sampleRate: number 音频采样率
duration
duration: number 视频资源时长,对于 CDN 的直播流来说,通常值为 -1。
channelCount
channelCount: number 音频声道数目,默认会使用双声道渲染音频
videoCodecName
videoCodecName: string 视频编码格式名称
audioCodecName
audioCodecName: string 音频编码格式名称
formatName
formatName: string 媒体封装格式名称
QualityStats
描述播放器流质量数据
详情
流质量统计数据
属性
decodeType
decodeType: string 解码方式
videoNetDataKBPerSecond
videoNetDataKBPerSecond: number 视频拉流网络码率
audioNetDataKBPerSecond
audioNetDataKBPerSecond: number 音频拉流网络码率
videoDecodedKBPerSecond
videoDecodedKBPerSecond: number 视频解码码率(MSE无效
audioDecodedKBPerSecond
audioDecodedKBPerSecond: number 音频解码码率(MSE无效
hasAudio
hasAudio: boolean 是否有音频数据
hasVideo
hasVideo: boolean 是否有视频数据
videoRenderFPS
videoRenderFPS: number 视频渲染帧率
audioRenderFPS
audioRenderFPS: number 音频渲染帧率(MSE无效
audioMuted
audioMuted: boolean 播放是否被静音
targetVideoFPS
targetVideoFPS: number 目标视频渲染帧率
targetAudioFPS
targetAudioFPS: number 目标音频渲染帧率
netQuality
netQuality: number 网络质量分数(0~100),100 代表网络极好,0 代表拉不到流
totalRecvBytes
totalRecvBytes: number 接收到的数据总字节数
videoRecvBytes
videoRecvBytes: number 接收到的视频数据字节数
audioRecvBytes
audioRecvBytes: number 接收到的音频数据字节数
seiRecvBytes
seiRecvBytes: number 接收到的SEI数据字节数
RangeAudioPlayStats
详情
范围语音拉流质量。
属性
audioBitrate
audioBitrate: number 音频码率
audioCodec
audioCodec: string 音频编码格式"opus"
audioJitter
audioJitter: number 网络抖动
audioLevel
audioLevel: number 音量
audioPacketsLost
audioPacketsLost: number 丢包数
audioPacketsLostRate
audioPacketsLostRate: number 丢包率
audioQuality
audioQuality: number 拉流音频质量,-1 表示未知,0 表示 极好,1 表示好,2 表示中等,3 表示 差,4 表示极差
audioSamplingRate
audioSamplingRate: number 采样率
muteState
muteState: "0" | "1" 音轨是否被关闭
audioFPS
audioFPS: number 音频帧率
audioSendLevel
audioSendLevel: number 音频发送能量
googCodecName
googCodecName: string 音频编码格式
audioCumulativeDecodeTime
audioCumulativeDecodeTime: number 累计音频解码时长,单位为毫秒 (2.19.0 及以上版本支持)。
audioCumulativeBreakTime
audioCumulativeBreakTime: number 累计视频卡顿时长,单位为毫秒 (2.19.0 及以上版本支持)。
audioCumulativeBreakRate
audioCumulativeBreakRate: number 累计视频卡顿率,单位为 1,取值范围 [0,1](2.19.0 及以上版本支持)。
peerToPeerDelay
peerToPeerDelay: number 端到端延迟,单位为 ms。
peerToPeerPacketLostRate
peerToPeerPacketLostRate: number 端到端丢包率,单位 1。
RangeAudioPublishStats
详情
范围语音推流质量。
属性
audioBitrate
audioBitrate: number 音频码率
audioCodec
audioCodec: string 音频编码格式
audioPacketsLost
audioPacketsLost: number 音频丢包数
audioPacketsLostRate
audioPacketsLostRate: number 音频丢包率
googCodecName
googCodecName: string 音频编码格式
muteState
muteState: '0' | '1' 音轨是否被关闭
audioFPS
audioFPS: number 音频帧率
audioQuality
audioQuality: number 推流音频质量,-1 表示未知,0 表示 极好,1 表示好,2 表示中等,3 表示 差,4 表示极差
SoundLevelDelegateOptions
音浪回调设置选项。
属性
enableInBackground
enableInBackground: boolean 设置在页面隐藏时是否保持开启获取获取音浪和回调音浪回调,2.18.0 及以后版本默认为关闭。
- 业务场景:在页面隐藏时关闭获取音浪可以减少性能消耗。
StreamViewEvent
媒体流播放组件相关事件集合。
详情
描述事件名及其对应的回调参数。
- 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
属性
autoplayFailed
autoplayFailed: () => void 自动播放失败事件。
canPlayVideo
canPlayVideo: () => void 在用户可以开始播放视频时触发。
canPlayAudio
canPlayAudio: () => void 在用户可以开始播放音频时触发。
ZegoAudioEffectPlayOptions
音效播放器设置选项。
属性
path
path: string 指定加载在线音频资源地址,如果 audioEffectID 上已经加载了音效,会直接使用加载好的音效。
- 在线音频文件需要符合 浏览器的同源策略。
- 支持 MP3、AAC 以及浏览器支持的其他音频格式。
ZegoAudioFrame
音频原始数据信息。
属性
channels
channels: Float32Array[] 音频原始数据,数组中是各个声道的音频原始数据。
channelCount
channelCount: number 声道数
sampleRate
sampleRate: number 音频采样率
ZegoAutoMixerTask
自动混流任务对象
详情
调用 [startAutoMixerTask] 函数向 ZEGO RTC 服务器发起自动混流任务时,需要通过该参数配置自动混流任务,包括任务 ID、房间 ID、音频配置、输出流列表、是否开启声浪回调通知。
- 业务场景:当向 ZEGO RTC 服务器发起自动混流任务时,需要这个配置。
属性
taskID
taskID: string 混流任务 id(客户自定义,务必保证唯一),必填,最大为256个字符,仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '
roomID
roomID: string 自动混流任务的房间 ID。
- 业务场景:当发起自动混流任务时,需要配置该参数。
- 是否必填:是。
- 取值范围:长度不超过 128 字节的字符串。
- 注意事项:仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', ''。如果需要与 Web SDK 互通,请不要使用 '%'。
audioConfig
audioConfig: ZegoMixerAudioConfig 自动混流任务的音频配置,可配置音频码率、音频声道,编码 ID、多路音频流混音模式。
- 业务场景:如果对自动混流任务的音频有特殊需求,比如需要调整音频码率,可根据需要调整该参数,否则不用配置。
- 是否必填:否。
- 默认值:默认音频码率为 "48 kbps", 默认音频声道为 "ZEGO_AUDIO_CHANNEL_MONO", 默认编码 ID 为 "ZEGO_AUDIO_CODEC_ID_DEFAULT",默认多路音频流混音模式为 "ZEGO_AUDIO_MIX_MODE_RAW"。
- 建议值:根据需求设置。
outputList
outputList: ZegoMixStreamOutput[] 自动混流任务的输出流列表,列表中为 URL 或者流 ID,若为 URL 格式 目前只支持 RTMP URL 格式:rtmp://xxxxxxxx。
- 业务场景:当发起自动混流任务时,需要配置该参数指明混流输出目标。Mix stream output target
- 是否必填:是。
enableSoundLevel
enableSoundLevel: boolean 开启混流音浪回调通知,用于获取混流中每个音频输入的音浪。开启后拉混流时可通过 on [AutoMixerSoundLevelUpdate] 回调收到每条单流的声浪信息。
streamAlignmentMode
streamAlignmentMode: number 流对齐模式,0 为关闭,1为开启。
minPlayStreamBufferLength
minPlayStreamBufferLength: number 设置混流服务器拉流缓存自适应调整的区间范围下限。在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。通过调节混流服务器拉流缓存自适应调整的区间范围下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。默认不设置,即服务端使用自身配置值。只会对新的输入流设置生效,对于已经开始混流的输入流不生效。
- 取值范围:[0,10000],超过最大值混流会失败。
ZegoAutoSwitchDeviceConfig
自动切换摄像头接口相关配置约束
属性
camera
camera: boolean 是否开启摄像头设备的自动切换
- 是否必填:否
microphone
microphone: boolean 是否开启麦克风设备的自动切换
- 是否必填:否
ZegoBarrageMessageInfo
房间弹幕消息
属性
fromUser
message
message: string 消息内容
sendTime
sendTime: number 发送时间
messageID
messageID: string 消息ID
ZegoBroadcastMessageInfo
广播消息
属性
fromUser
message
message: string 消息内容
sendTime
sendTime: number 发送时间
messageID
messageID: number 消息ID
ZegoCamera
创建摄像头媒体流相关参数约束
详情
该类用于约束接口 createStream 的参数 source.camera。
- 业务场景:创建摄像头音视频流。
- 注意事项:1. 创建流成功后拿到的 stream 为 mediaStream 对象,开发者可通过赋值给 <video> 或 <audio> 对象的 srcObject 属性进行渲染。
- audioInput 和 videoInput 不指定时使用默认设备。
- 降噪、自动增益、回声消除三者默认是根据浏览器能力来决定是否开启,若无特殊情况,建议客户保持这三项不做修改。
- 当 camera 的 videoQuality 为 4 时,camera 增加 width / height / frameRate / bitrate 属性,这几个参数只支持正整数,必须要把这四个属性也传递给 SDK。
- 如果设置了 facingMode 参数,会忽略 videoInput 参数。
属性
audio
audio: boolean 是否需要音频,默认为 true
audioInput
audioInput: string 音频输入设备,不传则为浏览器选择的默认设备
audioBitrate
audioBitrate: number 音频码率,默认为 48kbps
video
video: boolean 是否需要视频,默认是 true。
videoInput
videoInput: string 视频输入设备,不传则为浏览器选择的默认设备。
videoQuality
videoQuality: 1|2|3|4 视频质量等级,默认质量等级为 4 ,(2.21.0 之前版本默认等级为 2): 1:分辨率 320 * 240,帧率 15,码率 300 kbps。 2:分辨率 640 * 480,帧率:15,码率 800 kbps。 3:分辨率 1280 * 720,帧率:20,码率 1500 kbps。 4:当 videoQuality 为 4 时,width、height、frameRate 和 bitrate 四个参数都可以自定义修改,不传则以场景化配置值为准,默认为通用场景值:分辨率 640 * 480,帧率:15,码率 800 kbps。
facingMode
facingMode: 'user'|'environment' 摄像头朝向,“user” 表示前置摄像头,“environment” 表示后置摄像头。不传默认是使用 videoInput 指定的设备或者操作系统默认摄像头设备。
channelCount
channelCount: 1|2 声道数,1 为单声道,2 为双声道,默认为单声道。在 Safari 浏览器上拉流如果开启麦克风采集会失去立体声效果,需要避免在拉流时开启麦克风。
ANS
ANS: boolean 是否开启降噪,不传会根据浏览器能力决定是否开启,通常默认是开启。
AGC
AGC: boolean 是否开启自动增益,不传会根据浏览器能力决定是否开启,通常默认是开启。
AEC
AEC: boolean 是否开启回声消除,不传会根据浏览器能力决定是否开启,通常默认是开启。
width
height
bitrate
bitrate: number 码率,单位 kb/s,videoQuality 为 4 时生效。
frameRate
startBitrate
startBitrate: "default" | "target" 开始码率,默认为 “default”,环境要求:谷歌内核浏览器及 2.7.0 以上版本的 SDK 。 值为 “default” 表示使用 webrtc 默认开始码率 300kbps 然后慢慢上升;值为 “target” 表示快速上升到已设置的目标码率。
videoOptimizationMode
videoOptimizationMode: "default" | "motion" | "detail" 视频优化模式,默认为 “default“ ; 值为 “motion” 表示流畅模式,在大多数情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。 值为 ”detail“ 表示清晰模式,在大多数情况,SDK 不会降低发送分辨率,但是可能会降低帧率。
minBitrate
minBitrate: number 推流码率最小值。当网络较差的时候可接受的视频质量下降码率的最小值。
- 业务场景:期望视频持续高质量则把 minBitrate设置为接近目标码率的值。视频质量要求不高的推流可以把 minBitrate 设置得较低。
keyFrameInterval
keyFrameInterval: number 视频关键帧间隔时长,单位秒。
- 默认值:2 秒。
- 取值范围:[2, 6]。
ZegoCapabilityDetection
属性
webRTC
webRTC: boolean 是否支持webRTC协议,true代表可以使用webRTC协议传输流
customCapture
customCapture: boolean 是否支持自定义流(不通过摄像头或者屏幕捕捉采集到的其他流, 比如video标签播放的mp4等)
camera
camera: boolean 摄像头是否有权限调用
microphone
microphone: boolean 麦克风是否有权限调用
screenSharing
screenSharing: boolean 是否支持屏幕共享功能
videoCodec
videoCodec: ZegoVideoCodec 浏览器支持的视频编码格式; 需要注意的是有些浏览器检测会支持某一种编码格式,但实际系统阉割了该功能, 所以如果某个编码格式返回false,则一定不支持, true 不一定100%支持
errInfo
errInfo: ZegoCapabilityErrorInfo 检测失败相关错误信息,设备相关的错误说明可以参考 MediaDevices.getUserMedia 接口文档的异常说明。
result
result: boolean 根据传入的类型判断是否支持
ZegoCapabilityError
属性
name
name: string 错误名称
message
message: string 错误描述信息
ZegoCapabilityErrorInfo
检测结果相关错误信息。
属性
webRTC
webRTC: ZegoCapabilityError customCapture
customCapture: ZegoCapabilityError camera
microphone
extendedData
extendedData: string ZegoCaptureCamera
创建摄像头媒体流相关参数约束
详情
该类用于约束接口 [createZegoStream] 的参数 source.camera.video。或者 [createZegoStream]创建的ZegoLocalStream实例的方法[startCaptureCamera]、[startCaptureCameraAndMicrophone]。
- 业务场景:创建摄像头音视频流。
- 注意事项:1. 调用 [createZegoStream] 成功后拿到的 ZegoLocalStream实例,在成功采集到摄像头视频流后,可以通过调用ZegoLocalStream.playCaptureVideo播放采集视频流,通过ZegoLocalStream.playVideo待推送或者推流中的视频流。
- input 不指定时使用默认设备。
- 当 camera 的 quality 为 4 时,camera 增加 width / height / frameRate,这几个参数只支持正整数,必须要把这三个属性也传递给 SDK。
- 如果设置了 facingMode 参数,会忽略 input 参数。
属性
input
input: string 视频输入设备,不传则为浏览器选择的默认设备。
quality
quality: 1|2|3|4 视频质量等级,默认质量等级为 4 ,(2.21.0 之前版本默认等级为 2): 1:分辨率 320 * 240,帧率 15,码率 300 kbps。 2:分辨率 640 * 480,帧率:15,码率 800 kbps。 3:分辨率 1280 * 720,帧率:20,码率 1500 kbps。 4:当 quality 为 4 时,width、height、frameRate 和 bitrate 四个参数都可以自定义修改,不传则以场景化配置值为准,默认为通用场景值:分辨率 640 * 480,帧率:15,码率 800 kbps。
facingMode
facingMode: 'user'|'environment' 摄像头朝向,“user” 表示前置摄像头,“environment” 表示后置摄像头,默认是 input 参数指定的设备或者浏览器选择的默认设备。
width
height
frameRate
optimizationMode
optimizationMode: "default" | "motion" | "detail" 视频优化模式,默认为 “default“ ; 值为 “motion” 表示流畅模式,在大多数情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。 值为 ”detail“ 表示清晰模式,在大多数情况,SDK 不会降低发送分辨率,但是可能会降低帧率。
keyFrameInterval
keyFrameInterval: number 视频关键帧间隔时长,单位秒。
- 默认值:2 秒。
- 取值范围:[2, 6]。
ZegoCaptureMicrophone
采集麦克风媒体流相关参数约束
详情
该类用于约束接口 [createZegoStream] 的参数 source.camera.audio, 或者 [createZegoStream]创建的ZegoLocalStream实例的方法[startCaptureMicrophone]、[startCaptureCameraAndMicrophone]。
- 业务场景:采集麦克风媒体流。
- 注意事项:1. 调用 [createZegoStream] 成功后拿到的 ZegoLocalStream实例,在成功采集到麦克风流后,可以通过调用ZegoLocalStream.playCaptureAudio播放采集音频,通过ZegoLocalStream.playAudio待推送或者推流中的音频。
- input 不指定时使用默认设备。
- 降噪、自动增益、回声消除三者默认是根据浏览器能力来决定是否开启,若无特殊情况,建议客户保持这三项不做修改。
属性
input
input: string 音频输入设备,不传则为浏览器选择的默认设备
channelCount
channelCount: 1|2 声道数,1 为单声道,2 为双声道,默认为单声道。
ANS
ANS: boolean 是否开启降噪,不传会根据浏览器能力决定是否开启,通常默认是开启。
AGC
AGC: boolean 是否开启自动增益,不传会根据浏览器能力决定是否开启,通常默认是开启。
AEC
AEC: boolean 是否开启回声消除,不传会根据浏览器能力决定是否开启,通常默认是开启。
ZegoCaptureScreenAudio
创建屏幕共享媒体流的共享音频相关参数约束
详情
该类用于约束接口 [createZegoStream] 的参数 source.screen.audio, 或者 [createZegoStream]创建的ZegoLocalStream实例的方法[startCaptureScreenWithAudio]。
- 业务场景:创建包含共享音频的屏幕共享媒体流。
属性
ANS
ANS: boolean 是否开启降噪,默认关闭。
AGC
AGC: boolean 是否开启自动增益,默认关闭。
AEC
AEC: boolean 是否开启回声消除,默认开启。
ZegoCaptureScreenVideo
创建屏幕共享媒体流相关参数约束
详情
该类用于约束接口 [createZegoStream] 的参数 source.screen.video, 或者 [createZegoStream]创建的ZegoLocalStream实例的方法[startCaptureScreenWithAudio]、[startCaptureScreen]。
- 业务场景:创建屏幕共享媒体流。
- 注意事项:当 quality 为 4 时,camera 增加 width / height / frameRate,这几个参数只支持正整数,必须要把这三个属性也传递给 SDK。
属性
quality
quality: 1|2|3|4 一般而言,屏幕共享视频质量的选择要根据实际情况和场景来确定,screen 中的 quality 提供三种预设值:
1:帧率较大,适合对流畅度要求较高的场景。 2:适合在流畅度和清晰度之间取得平衡的场景。 3:码率较大,适合对清晰度要求较高的场景。 除了以上三种预设值,quality 还提供一种自定义取值 4,可自定义帧率、码率,screen 增加 frameRate 属性,使用时需要把这个属性也传递给 SDK。
视频质量等级,默认质量等级为 2 1 帧率:20 码率: 800K 2 帧率:15 码率: 1500K 3 帧率:5 码率: 2000K 4 帧率
width
height
frameRate
optimizationMode
optimizationMode: "default" | "motion" | "detail" 视频优化模式,默认为 “default“ ; 值为 “motion” 表示流畅模式,在大多数情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。 值为 ”detail“ 表示清晰模式,在大多数情况,SDK 不会降低发送分辨率,但是可能会降低帧率
sourceID
sourceID: string 指定屏幕共享画面 ID , 仅限chrome 内核浏览器使用
keyFrameInterval
keyFrameInterval: number 视频关键帧间隔时长,单位秒。屏幕共享可以通过调大关键帧的间隔时长以减少视频编码性能压力。
- 默认值:2 秒。
- 取值范围:[2, 6]。
captureElement
captureElement: HTMLElement 支持屏幕共享视频仅共享传入的DOM元素区域。
- 业务场景:支持屏幕共享视频仅共享传入的DOM元素区域,而不是整个tab标签页。
- 注意事项:1. 仅支持 Chrome 104 或以上版本的浏览器;如果共享的 DOM 元素中包含多媒体元素(img、video 等),需使用 Chrome 116 或以上版本的浏览器。为达到更好的体验,建议您直接使用 Chrome 最新版本。 2.建议您使用 CSS 固定 DOM 元素的位置,避免浏览器页面滚动时、DOM 出现在视口的大小发生变化,导致采集到的视频分辨率频繁变化,造成部分 Android 设备拉流解码失败。
ZegoCheckSingleType
属性
webRTC
webRTC: "webRTC" 检测浏览器是否支持 webRTC
customCapture
customCapture: "customCapture" 检测浏览器是否支持 自定义流
camera
camera: "camera" 检测摄像头是否有权限调用
microphone
microphone: "microphone" 检测麦克风是否有权限调用
screenSharing
screenSharing: "screenSharing" 检测是否支持屏幕共享
H264
H264: "H264" 检测是否支持H264编码格式
VP8
VP8: "VP8" 检测是否支持VP8编码格式
H265
H265: "H265" 检测是否支持 H265 编码格式
ZegoCopyrightedMusicConfig
版权音乐配置。
属性
user
ZegoCopyrightedMusicDownloadResponse
下载歌曲返回结果。
属性
errorCode
errorCode: number 错误码,详情请参考 常见错误码文档。
urls
urls: string[] 歌曲链接列表,如果下载的是伴奏,第一个链接是伴奏,第二个是原曲。
ZegoCopyrightedMusicEvent
版权音乐功能相关事件集合。
详情
描述事件名及其对应的回调参数。
- 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
属性
downloadProgressUpdate
downloadProgressUpdate: DownloadProgressUpdateCallBack 加载歌曲或伴奏进度回调。
songLineScoreComplete
songLineScoreComplete: SongLineScoreCompleteCallBack 开始歌曲打分,歌曲播放每一行打分完成回调,可以通过该回调获取这一行分数信息。调 startScore 接口需要传 ZegoStartScoreParams.enableSongLineScoreCompleteEvent 值为 true 才能开启该事件回调。
ZegoCopyrightedMusicGetKrcLyricByTokenResponse
获取 krc 格式歌词完成回调。
属性
errorCode
errorCode: number 错误码,详情请参考 常见错误码文档。
lyrics
ZegoCopyrightedMusicGetLrcLyricResponse
获取 lrc 格式歌词完成回调结果。
属性
errorCode
errorCode: number 错误码,详情请参考 常见错误码文档。
lyrics
ZegoCopyrightedMusicGetStandardPitchResponse
获取标准音高线数据完成回调结果。
属性
errorCode
errorCode: number 错误码,详情请参考 常见错误码文档。
pitch
pitch: any 标准音高线数据。详情请参考 Android:https://doc-zh.zego.im/article/15148, iOS:https://doc-zh.zego.im/article/15147
ZegoCopyrightedMusicRequestConfig
获取资源的配置。
属性
songID
songID: string 歌曲 ID。
vendorID
mode
masterID
masterID: string 房主 ID, 当计费模式为按房主计费时必传。指明按哪个房主进行点歌/点伴奏/高潮片段。
sceneID
sceneID: number 场景 ID, 指明实际业务,详情可咨询 ZEGO 技术支持。
ZegoCopyrightedMusicRequestResourceResponse
获取资源的结果。
属性
errorCode
errorCode: number 错误码,详情请参考 常见错误码文档。
resource
ZegoCopyrightedMusicSendExtendedRequestResponse
扩展请求结果。
属性
errorCode
errorCode: number 错误码,详情请参考 常见错误码文档。
result
result: any 请求返回结果
ZegoCustom
创建第三方媒体流相关参数约束
详情
该类用于约束接口 createStream 的参数 source.custom。
- 业务场景:分享网络或本地的视频资源。
属性
source
source: HTMLMediaElement | MediaStream 第三方源,<video>或<audio>媒体对象或MediaStream
bitrate
bitrate: number 视频码率
audioBitrate
audioBitrate: number 音频码率,默认为 48kbps
channelCount
channelCount: number - 注意事项:在 Safari 浏览器上拉流如果开启麦克风采集会失去立体声效果,需要避免在拉流时开启麦克风。
startBitrate
startBitrate: "default" | "target" 开始码率,默认为 “default”,环境要求:谷歌内核浏览器及 2.7.0 以上版本的 SDK 。 值为 “default” 表示使用 webrtc 默认开始码率 300kbps 然后慢慢上升;值为 “target” 表示快速上升到已设置的目标码率。
videoOptimizationMode
videoOptimizationMode: "default" | "motion" | "detail" 视频优化模式,默认为 “default“ ; 值为 “motion” 表示流畅模式,在大多数情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。 值为 ”detail“ 表示清晰模式,在大多数情况,SDK 不会降低发送分辨率,但是可能会降低帧率
minBitrate
minBitrate: number 推流码率最小值。当网络较差的时候可接受的视频质量下降码率的最小值。
- 业务场景:期望视频持续高质量则把 minBitrate设置为接近目标码率的值。视频质量要求不高的推流可以把 minBitrate 设置得较低。
keyFrameInterval
keyFrameInterval: number 视频关键帧间隔时长,单位秒。
- 默认值:2 秒。
- 取值范围:[2, 6]。
ZegoCustomAudio
创建第三方音频媒体流相关参数约束
详情
该类用于约束接口 [createZegoStream] 的参数 source.custom.video, 或者 [createZegoStream]创建的ZegoLocalStream实例的方法[startCaptureCustomAudio]、[startCaptureCustomVideoAndAudio]。
- 业务场景:分享网络或本地的音频资源。
属性
source
source: HTMLMediaElement | MediaStream 第三方源,<video>或<audio>媒体对象或MediaStream
channelCount
channelCount: number 声道数,1为单声道,2为双声道,默认单声道
ZegoCustomPlayerResourceConfig
自定义拉流资源类型配置。
3.7.0 版本开始支持。
属性
beforePublish
beforePublish: 0 | 1 | 2 开始推流前拉流选择的资源类型。0 表示仅从 RTC 拉流;1 表示仅从 CDN 拉流;2 表示仅从 L3。
publishing
publishing: 0 | 1 | 2 推流中拉流选择的资源类型。0 表示仅从 RTC 拉流;1 表示仅从 CDN 拉流;2 表示仅从 L3。
afterPublish
afterPublish: 0 | 1 | 2 停止推流后拉流选择的资源类型。0 表示仅从 RTC 拉流;1 表示仅从 CDN 拉流;2 表示仅从 L3。
ZegoCustomVideo
创建第三方视频媒体流相关参数约束
详情
该类用于约束接口 [createZegoStream] 的参数 source.custom.video, 或者 [createZegoStream]创建的ZegoLocalStream实例的方法[startCaptureCustomVideo]、[startCaptureCustomVideoAndAudio]。
- 业务场景:分享网络或本地的视频资源。
属性
source
source: HTMLMediaElement | MediaStream 第三方源,<video>或<audio>媒体对象或MediaStream
optimizationMode
optimizationMode: "default" | "motion" | "detail" 视频优化模式,默认为 “default“ ; 值为 “motion” 表示流畅模式,在大多数情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。 值为 ”detail“ 表示清晰模式,在大多数情况,SDK 不会降低发送分辨率,但是可能会降低帧率
keyFrameInterval
keyFrameInterval: number 视频关键帧间隔时长,单位秒。
- 默认值:2 秒。
- 取值范围:[2, 6]。
ZegoDataChannelEvent
实时有序数据功能相关事件集合。
详情
描述事件名及其对应的回调参数。
- 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
属性
receiveRealTimeSequentialData
receiveRealTimeSequentialData: PlayerRecvRealtimeSequentialDataCallBack 实时信令接收更新事件。
ZegoDeviceInfo
属性
deviceName
deviceName: string deviceID
deviceID: string ZegoDeviceInfos
属性
microphones
microphones: ZegoDeviceInfo[] speakers
speakers: ZegoDeviceInfo[] cameras
cameras: ZegoDeviceInfo[] ZegoEffectsBeautyParam
基础美颜参数选项。
属性
whitenIntensity
whitenIntensity: number 美白强度,取值范围 [0,100],默认值 50。
rosyIntensity
rosyIntensity: number 红润强度,取值范围 [0,100],默认值 50。
smoothIntensity
smoothIntensity: number 磨皮强度,取值范围 [0,100],默认值 50。
sharpenIntensity
sharpenIntensity: number 锐化强度,取值范围 [0,100],默认值 50。
ZegoElectronScreenSource
属性
id
id: string id
name
name: string 屏幕名称
thumbnail
thumbnail: any 屏幕快照
ZegoExpressPlayerConfig
播放器插件初始化配置
属性
container
container: HTMLDivElement 放置播放器渲染组件的容器。您可以在指定容器的 div 标签上设置相关属性:
- zg-width,播放器组件的宽度,非必选。如果只设置了宽度,渲染组件的高度将会按照视频比例等比例缩放。
- zg-height,播放器组件的高度,非必选。如果只设置了高度,渲染组件的宽度将会按照视频比例等比例缩放。
- 调用时机:播放器实例化时调用。
- 注意事项:如果容器同时设置宽和高,如果播放视频帧的比例和容器设置对宽高比不一致,默认会对播放画面进行拉伸缩放处理。
mode
mode: string 播放模式,目前仅支持 "live" 模式,即直播拉流模式。
engineType
engineType: string 可选值,传入 SDK 的引擎实例的类型,可选 "express" 和 "liveroom",如果不传值默认使用的是 "express",即代表初始化传入的是 express sdk 的引擎实例。如果设置选项 "liveroom",则代表指定播放器插件兼容 liveroom sdk 的引擎实例。
decodeType
decodeType: string 可选值,指定播放器解码优先采用的解码类型,可选值为字符串 "WebCodecs"、"wasm" 或 "MSE"。如果不传值播放器默认优先使用 "WebCodecs" 类型进行解码。
"WebCodecs" 解码类型,代表优先使用浏览器 WebCodecs API 进行硬件解码,在解码速率上会比软解更快。需要注意的是,WebCodecs 解码只在 PC Chrome 浏览器和少部分 Android 机型的 Chrome 浏览器上支持。
"MSE" 解码类型,代表优先使用浏览器的 MSE(Media Source Extensions)API 解码,在解码速率上会比软解更快,在浏览器的兼容性上比 WebCodecs 方案更好,支持移动端 IOS 之外的浏览器。但相比 WebCodecs 解码和 wasm 解码,播放器受 MSE API 方案限制,收集到的质量监测数据相对会更少一些。
"wasm" 解码类型,代表指定使用优先使用软解进行播放,但在解码效率上会比 WebCodecs 解码更差一些。
在播放器解码时,默认按照 “WebCodecs 硬解 > MSE 硬解 > 软解” 的优先级顺序进行解码播放。如果浏览器不支持某种解码方式或者在中途解码失败,会自动回退到下一种方式。
ZegoExpressPlayerError
描述播放器插件的错误信息
属性
code
code: number 错误码
msg
msg: string 错误详细描述
ZegoFontStyle
字体风格。
详情
字体风格配置,可用于配置字体类型、字体大小、字体颜色、字体透明度。
- 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。
属性
type
size
size: number - 是否必填:否。
- 默认值:24。
- 取值范围:[12,100] 的整数。
color
color: number - 是否必填:否。
- 默认值:16777215(白色)。
- 取值范围:[0,16777215] 的整数。
transparency
transparency: number - 是否必填:否。
- 默认值:0。
- 取值范围:[0,100],0 为不透明,100 为完全透明。
border
border: boolean - 是否必填:否。
- 默认值:否。
- 取值范围:是/否。
borderColor
borderColor: number - 是否必填:否。
- 默认值:0。
- 取值范围:[0,16777215]。
ZegoLabelInfo
文本信息。
详情
文本信息配置,可用于配置文本内容、文本位置、文本风格。
- 业务场景:手动混流场景时,设置文字水印,比如多人连麦直播。
属性
text
text: string - 是否必填:是。
- 取值范围:最大支持显示100个中文字符,300 个英文字符。
left
left: number - 是否必填:否。
- 默认值:0。
top
top: number - 是否必填:否。
- 默认值:0。
font
ZegoLocalAduioOptions
ZegoLocalStream媒体流播放音频选项。
属性
enableAutoplayDialog
enableAutoplayDialog: boolean 自动播放失败弹窗,默认开启,当出现自动播放失败时,SDK 会弹窗引导用户点击页面,来恢复音视频播放。可设置为 false 关闭。
ZegoLocalProxyConfig
代理服务器的域名和路径配置信息。
详情
代理服务器的域名和路径配置信息。
属性
accesshubProxy
accesshubProxy: string 用于中转 SDK 与 ZEGO 后台的信令数据包。格式是$\{域名\}:$\{端口\}/$\{路径\},端口和路径根据代理配置按需填写。
loggerProxy
loggerProxy: number 设置日志上报代理,用于排查问题,请务必设置该代理。格式是$\{域名\}:$\{端口\}/$\{路径\},端口和路径根据代理配置按需填写。
detaillogProxy
detaillogProxy: string 主动上报日志服务,可选参数。格式是$\{域名\}:$\{端口\}/$\{路径\},端口和路径根据代理配置按需填写。
ZegoLocalStreamConfig
createStream 接口的配置参数约束
详情
该类用于约束接口 createStream 的配置参数。
- 业务场景:创建预览音视频流。
- 注意事项:camera、screen 和 custom 三个参数在每次调用接口 createStream 时只能选填其中一个。
属性
camera
screen
custom
ZegoLocalStreamEvent
ZegoLocalStream媒体流相关事件集合。
详情
描述事件名及其对应的回调参数。
- 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
属性
autoplayFailed
autoplayFailed: (player: HTMLMediaElement) => void 调用[playVideo]或者[playAudio]播放失败后事件回调。player为播放媒体的audio或者video DOM节点。
canPlayVideo
canPlayVideo: (e: Event) => void; 在用户调用[playVideo]后,可以开始播放视频时触发。
canPlayAudio
canPlayAudio: (e: Event) => void; 在用户调用[playAudio]后,可以开始播放音频时触发。
autoplayCaptureFailed
autoplayCaptureFailed: (player: HTMLMediaElement) => void 调用[playCaptureVideo]或者[playCaptureAudio]后播放失败的事件回调。player为播放媒体的audio或者video DOM节点。
canPlayCaptureVideo
canPlayCaptureVideo: (e: Event) => void 在用户调用[playCaptureVideo]后,可以开始播放视频时触发。
canPlayCaptureAudio
canPlayCaptureAudio: (e: Event) => void; 在用户调用[playCaptureAudio]后,可以开始播放音频时触发。
videoTrackChanged
videoTrackChanged: (videoTrack: MediaStreamTrack) => void; 本地流视轨更新回调。videoTrackChanged 回调得到的是前处理后的视轨,captureVideoTrackChanged 拿到的是前处理前的采集视轨。
- 注意事项:如果没有对音视频渲染特殊处理的需求,不建议使用该回调,大部分场景推荐用 ZegoStreamView 进行渲染。
audioTrackChanged
audioTrackChanged: (audioTrack: MediaStreamTrack) => void; 本地流音轨更新回调。audioTrackChanged 回调得到的是前处理后的音轨,captureAudioTrackChanged 拿到的是前处理前的采集音轨。
- 注意事项:如果没有对音视频渲染特殊处理的需求,不建议使用该回调,大部分场景推荐用 ZegoStreamView 进行渲染。
captureVideoTrackChanged
captureVideoTrackChanged: (videoTrack: MediaStreamTrack) => void; 本地流采集视轨更新回调。videoTrackChanged 回调得到的是前处理后的视轨,captureVideoTrackChanged 拿到的是前处理前的采集视轨。
- 注意事项:如果没有对音视频渲染特殊处理的需求,不建议使用该回调,大部分场景推荐用 ZegoStreamView 进行渲染。
captureAudioTrackChanged
captureAudioTrackChanged: (audioTrack: MediaStreamTrack) => void; 本地流采集音轨更新回调。audioTrackChanged 回调得到的是前处理后的音轨,captureAudioTrackChanged 拿到的是前处理前的采集音轨。
- 注意事项:如果没有对音视频渲染特殊处理的需求,不建议使用该回调,大部分场景推荐用 ZegoStreamView 进行渲染。
ZegoLocalViewOptions
本地媒体流播放选项。
属性
mirror
mirror: boolean 镜像显示,true 为开启,false 为关闭,默认是关闭。
objectFit
objectFit: "cover" | "contain" | "fill" 视频画面显示模式,"cover" 为覆盖容器;"contain" 为显示全部内容;"fill" 为拉伸填充。默认是 "contain"。
enableAutoplayDialog
enableAutoplayDialog: boolean 自动播放失败弹窗,默认开启,当出现自动播放失败时,SDK 会弹窗引导用户点击页面,来恢复音视频播放。可设置为 false 关闭。
clearLastFrame
clearLastFrame: boolean 当视频数据中断时是否去掉最后一帧画面。true 为清除,false 为保留,默认是 true。
ZegoLogConfig
日志配置选项
- 支持版本:1.0.0
废弃时间:无
属性
logLevel
logLevel: 'debug' | 'info' | 'warn' | 'error' | 'report' | 'disable' 本地 log 级别,等级越高,打印日志越少
logCount
logCount: number 日志文件个数。默认是 3 个。取值范围是 [3, 20]。
logSize
logSize: number 用于自定义日志文件大小上限,默认值 5MB (5 * 1024 * 1024 Bytes),最小1MB (1 * 1024 * 1024 Bytes),0表示不需要写日志。
ZegoMixStreamAdvance
属性
backgroundColor
backgroundColor: number 混流背景颜色; backgroundColor 为十六进制的 RGB,输入格式必须为 0xRRGGBB00。例如纯白色则传 0xffffff00。
backgroundImage
backgroundImage: string 混流背景图片; backgroundImage 需要提前在即构后台预设 imageId,输入格式为 preset-id://xxx
videoCodec
videoCodec: 'VP8' | 'H264' | 'H265' | 'vp8' | 'h264' | 'h265'; 混流视频编码,'vp8'(string) 或 ' h264' (string),默认 'h264'(string)
userData
userData: Uint8Array 用户自定义数据,长度不超过 1000 字节,设置后拉流方可通过监听 [onPlayerRecvSEI] 的回调获取 SEI 内容。注意必须使用 [ByteBuffer.allocateDirect] 函数创建,否则数据不能传给SDK
ZegoMixStreamConfig
属性
taskID
taskID: string 混流任务 id(客户自定义,务必保证唯一),必填,最大为256个字符,仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '
inputList
outputList
outputConfig
watermark
enableSoundLevel
enableSoundLevel: boolean 开启混流音浪回调通知,用于获取混流中每个音频输入的音浪。开启后拉混流时可通过 [mixerSoundLevelUpdate] 回调收到每条单流的声浪信息。 注:小程序拉流暂不支持 [mixerSoundLevelUpdate] 回调。
streamAlignmentMode
streamAlignmentMode: number 流对齐模式,0 为关闭,1为开启。
whiteboard
whiteboard: ZegoMixerWhiteboard 混流白板输入对象
ZegoMixStreamInput
属性
streamID
streamID: string 输入流 ID
contentType
contentType: "VIDEO" | "AUDIO" | "VIDEO_ONLY" 混流内容类型;contentType 取值为'VIDEO'(音视频)、'AUDIO'(纯音频),"VIDEO_ONLY"(纯视频), 默认为'VIDEO'
layout
renderMode
imageInfo
label
cornerRadius
cornerRadius: number 视频画面圆角半径,单位 px。
- 是否必填:否。
- 取值范围:不超过 [layout] 参数设置的视频画面的宽高。
- 默认值:0。
soundLevelID
soundLevelID: number 混流音浪 ID,用于在 [mixerSoundLevelUpdate] 中找对应输入流的音浪值。
volume
volume: number 输入流音量, 有效范围 [0, 200], 默认是 100。
isAudioFocus
isAudioFocus: boolean 当前输入流是否开启焦点语音,开启了会突出此路流的声音。默认 false。
ZegoMixStreamLayout
属性
top
top: number 目标位置,上
left
left: number 目标位置,左
bottom
bottom: number 目标位置,下
right
right: number 目标位置,右
ZegoMixStreamOutput
属性
target
target: string 混流输出流 ID 或 URL
videoConfig
ZegoMixStreamOutputConfig
属性
outputBitrate
outputBitrate: number 混流输出视频码率,kbps 数值 (必须,且大于 0)
outputFPS
outputFPS: number 混流输出视频帧率
outputWidth
outputWidth: number 混流输出视频分辨率宽度
outputHeight
outputHeight: number 混流输出视频分辨率高度
outputAudioCodecID
outputAudioCodecID: 0 | 1 | 2 | 3 混流输出音频编码 outputAudioCodecID 可选0:HE-AAC,1: AAC-LC,2:MP3,3: OPULS ;默认为0。 注意:如果使用 CDN 录制,音频编码请选择 AAC-LC。这是因为部分浏览器(如 Google Chrome 和 Microsoft Edge)不兼容 HE-AAC 音频编码格式,从而导致录制文件无法播放。
outputAudioBitrate
outputAudioBitrate: number 混流输出音频码率,kbps
outputAudioChannels
outputAudioChannels: 1 | 2 混流输出声道数
audioMixMode
audioMixMode: ZegoAudioMixMode 多路音频流混音模式。若 [ZegoAudioMixMode] 选择为 [Focused],SDK 将会选择 4 路已设置 [isAudioFocus] 的输入流作为焦点语音突出,若未选择或选择少于 4 路,则会自动补齐 4 路。
ZegoMixerAudioConfig
混流音频配置
详情
配置混流任务的音频码率、声道数、音频编码
属性
bitrate
bitrate: number 音频码率,单位为 kbps,默认为 48 kbps,开始混流任务后不能修改
channel
channel: 1 | 2 音频声道,默认为 Mono 单声道
codecID
ZegoMixerImageInfo
混流中单条输入流的图片信息
详情
为单条输入流的内容设置图片,用于替代视频,即当使用图片时不显示视频。图片复用的 [ZegoMixerInput] 中的 layout 布局。
- 业务场景:开发者在视频连麦过程中,需要暂时关闭摄像头显示图像,或音频连麦时,显示图片等。
- 支持版本:2.24.0 及以上。
- 使用限制:图片大小限制在 1M 以内。
属性
url
url: string 图片路径,不为空显示图片,否则显示视频。支持 JPG 和 PNG 格式。支持 2 种使用方式:1. URI:将图片提供给 ZEGO 技术支持进行配置,配置完成后会提供图片 URI,例如:preset-id://xxx.jpg。2. URL:仅支持 HTTP 协议。
displayMode
displayMode: number 图片显示模式。0:默认值。当 url 不为空时,覆盖视频内容,显示图片。 1:根据摄像头状态,判断是否显示图片。摄像头关闭,显示图片。摄像头打开,显示视频内容(无需手动清空 url 参数)。2:根据输入流是否为空流,判断是否显示图片。输入流连续3秒为空流时,显示图片。判断空流时长默认为3秒,若需额外配置请联系 ZEGO 技术支持。输入流有视频数据时,显示视频内容。
ZegoMixerOutputVideoConfig
详情
配置混流输出的视频参数,编码格式、码率。
- 业务场景:手动混流场景,比如多人连麦直播。
属性
videoCodecID
videoCodecID: string 混流输出视频编码格式,支持 H.264, H.265 编码
bitrate
bitrate: number 混流输出视频码率,单位为 kbps。默认值为 [ZegoMixStreamOutputConfig] 中配置的 bitrate。
encodeProfile
encodeLatency
encodeLatency: number 混流输出视频编码延时,有效值范围 [0, 2000], 单位毫秒。默认值为 0。
enableLowBitrateHD
enableLowBitrateHD: boolean 开启高清低码,默认值为 false
ZegoOptions
ZegoExpressEngine可选参数
属性
scenario
ZegoPlayAudioStats
属性
audioBitrate
audioBitrate: number 音频码率
audioCodec
audioCodec: string 音频编码格式"opus"
audioJitter
audioJitter: number 网络抖动
audioLevel
audioLevel: number 音量
audioPacketsLost
audioPacketsLost: number 丢包数
audioPacketsLostRate
audioPacketsLostRate: number 丢包率
audioQuality
audioQuality: number 拉流音频质量,-1 表示未知,0 表示 极好,1 表示好,2 表示中等,3 表示 差,4 表示极差
audioSamplingRate
audioSamplingRate: number 采样率
muteState
muteState: "0" | "1" 音轨是否被关闭
audioFPS
audioFPS: number 音频帧率
audioSendLevel
audioSendLevel: number 音频发送能量
googCodecName
googCodecName: string 音频编码格式
audioCumulativeDecodeTime
audioCumulativeDecodeTime: number 累计音频解码时长,单位为毫秒 (2.19.0 及以上版本支持)。
audioCumulativeBreakTime
audioCumulativeBreakTime: number 累计音频卡顿时长,单位为毫秒 (2.19.0 及以上版本支持)。
audioCumulativeBreakRate
audioCumulativeBreakRate: number 累计音频卡顿率,单位为 1,取值范围 [0,1](2.19.0 及以上版本支持)。
ZegoPlayStats
拉流质量回调详细信息
属性
video
audio
peerToPeerDelay
peerToPeerDelay: number | undefined 端到端延迟,单位为 ms。
peerToPeerPacketLostRate
peerToPeerPacketLostRate: number | undefined 端到端丢包率,单位 1。(2.13.0 及以前版本单位为 %)
codecImplementationName
codecImplementationName: string 具体实现编码器的名称
currentRoundTripTime
currentRoundTripTime: number 表示当前本端发送到远程对端并返回所需的秒数
googAvailableSendBandwidth
googAvailableSendBandwidth: string 发送视频数据可用的带宽(谷歌浏览器特有字段,且新版本已废弃)
nackCount
nackCount: number 接收端在检测到一个或多个数据包在传输过程中丢失后向发送端发送 NACK 数据包的次数
pliCount
pliCount: number 流的接收端向发送端发送 PLI 数据包的次数
sampleTimeWindow
sampleTimeWindow: number 样本时间窗口
totalRoundTripTime
totalRoundTripTime: number 发送 STUN 连接和同意检查请求与接收响应之间经过的总秒数
ZegoPlayVideoStats
属性
frameHeight
frameHeight: number 接收视频高
frameWidth
frameWidth: number 接收视频宽
googCodecName
googCodecName: string 视频编码格式
muteState
muteState: "0"|"1" 视轨是否被关闭
videoBitrate
videoBitrate: number 视频码率
videoFPS
videoFPS: number 视频解码帧率
videoPacketsLost
videoPacketsLost: number 视频丢包数
videoPacketsLostRate
videoPacketsLostRate: number 视频丢包率
videoTransferFPS
videoTransferFPS: number 视频接收帧率
videoQuality
videoQuality: number 拉流视频质量,-1 表示未知,0 表示 极好,1 表示好,2 表示中等,3 表示 差,4 表示极差
videoFramesDecoded
videoFramesDecoded: number 视频解码总大小
videoFramesDropped
videoFramesDropped: number 当前实际接收的视频帧丢失数
videoCumulativeDecodeTime
videoCumulativeDecodeTime: number 累计视频解码时长,单位为毫秒 (2.19.0 及以上版本支持)。
videoCumulativeBreakTime
videoCumulativeBreakTime: number 累计视频卡顿时长,单位为毫秒 (2.19.0 及以上版本支持
videoCumulativeBreakRate
videoCumulativeBreakRate: number 累计视频卡顿率,单位为百分比,0.0 ~ 1.0 (2.9.0 及以上版本支持
ZegoPlayerState
拉流状态
属性
streamID
streamID: string 流id
state
state: 'NO_PLAY' | 'PLAY_REQUESTING' | 'PLAYING' NO_PLAY:未拉流状态,PLAY_REQUESTING:正在请求拉流状态,PLAYING:正在拉流状态
errorCode
errorCode: number 错误码
extendedData
extendedData: string 扩展信息
ZegoProxyInfo
代理信息。
详情
配置代理信息。
属性
hostName
hostName: string 域名。云代理下:由 ZEGO 提供的代理域名。
port
port: number 代理服务端口号。
ZegoPublishAudioStats
属性
audioBitrate
audioBitrate: number 音频码率
audioCodec
audioCodec: string 音频编码格式
audioPacketsLost
audioPacketsLost: number 音频丢包数
audioPacketsLostRate
audioPacketsLostRate: number 音频丢包率
googCodecName
googCodecName: string 音频编码格式
muteState
muteState: '0' | '1' 音轨是否被关闭
audioFPS
audioFPS: number 音频帧率
audioQuality
audioQuality: number 推流音频质量,-1 表示未知,0 表示 极好,1 表示好,2 表示中等,3 表示 差,4 表示极差
ZegoPublishStats
属性
video
audio
codecImplementationName
codecImplementationName: string 具体实现编码器的名称
currentRoundTripTime
currentRoundTripTime: number 表示当前本端发送到远程对端并返回所需的秒数
googActualEncBitrate
googActualEncBitrate: string 视频编码器实际输出的码率(谷歌浏览器特有字段,且新版本已废弃)
googAvailableSendBandwidth
googAvailableSendBandwidth: string 发送视频数据可用的带宽(谷歌浏览器特有字段,且新版本已废弃)
googBandwidthLimitedResolution
googBandwidthLimitedResolution: string 是否因为宽带受限而降低发送的视频分辨率(谷歌浏览器特有字段,且新版本已废弃)
googCpuLimitedResolution
googCpuLimitedResolution: string 是否因为CPU不足而降低发送的视频分辨率(谷歌浏览器特有字段,且新版本已废弃)
googFrameHeightInput
googFrameHeightInput: string 发送端设置的分辨率高(谷歌浏览器特有字段,且新版本已废弃)
googFrameRateInput
googFrameRateInput: string 发送端设置的初始帧率(谷歌浏览器特有字段,且新版本已废弃)
googFrameWidthInput
googFrameWidthInput: string 发送端设置的分辨率宽(谷歌浏览器特有字段,且新版本已废弃)
googTargetEncBitrate
googTargetEncBitrate: string 视频编码的目标码率(谷歌浏览器特有字段,且新版本已废弃)
muted
muted: boolean 是否静音
nackCount
nackCount: number 接收端在检测到一个或多个数据包在传输过程中丢失后向发送端发送 NACK 数据包的次数
paused
paused: boolean 是否暂停
pliCount
pliCount: number 流的接收端向发送端发送 PLI 数据包的次数
qualityLimitationReason
qualityLimitationReason: string 限制流质量的原因
sinkId
sinkId: string 输出的音频设备 ID
totalRoundTripTime
totalRoundTripTime: number 发送 STUN 连接和同意检查请求与接收响应之间经过的总秒数
volume
volume: number 音量值
ZegoPublishStreamAudioConfig
属性
ANS
ANS: boolean 是否开启降噪
AGC
AGC: boolean 是否开启自动增益
AEC
AEC: boolean 是否开启回声消除
ZegoPublishStreamConfig
属性
width
height
frameRate
maxBitrate
maxBitrate: number 最大码率
videoQuality
videoQuality: number 视频质量等级,默认质量等级为 2
ZegoPublishVideoStats
属性
frameHeight
frameHeight: number 采集视频高
frameWidth
frameWidth: number 采集视频宽
googCodecName
googCodecName: string 视频编码格式
muteState
muteState: "0"|"1" 视轨是否被关闭
videoBitrate
videoBitrate: number 视频码率
videoFPS
videoFPS: number 视频编码帧率
videoPacketsLost
videoPacketsLost: number 视频丢包数
videoPacketsLostRate
videoPacketsLostRate: number 视频丢包率
videoTransferFPS
videoTransferFPS: number 视频发送帧率
videoQuality
videoQuality: number 推流质量,-1 表示未知,0 表示 极好,1 表示好,2 表示中等,3 表示 差,4 表示极差
isHardwareEncode
isHardwareEncode: boolean 是否开启硬编,true 为开启,false 为关闭,undefined 为未知。
ZegoPublisherState
推流状态
属性
streamID
streamID: string 流ID
state
state: 'PUBLISHING' | 'NO_PUBLISH' | 'PUBLISH_REQUESTING' NO_PUBLISH:未推流状态,PUBLISH_REQUESTING:正在请求推流状态,PUBLISHING:正在推流状态
errorCode
errorCode: number 错误码
extendedData
extendedData: string 扩展信息
ZegoRTCEvent
媒体服务相关事件集合
详情
描述事件名及其对应的回调参数。
- 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
属性
publishQualityUpdate
publisherStateUpdate
screenSharingEnded
playQualityUpdate
streamExtraInfoUpdate
playerStateUpdate
remoteCameraStatusUpdate
remoteMicStatusUpdate
soundLevelUpdate
videoDeviceStateChanged
audioDeviceStateChanged
deviceError
capturedSoundLevelUpdate
playerRecvSEI
beautyEffectError
roomStreamUpdate
roomStreamUpdate: RoomStreamUpdateCallBack 相同房间内其他用户推的流增加或减少的通知。 收到流删除通知时,开发者可将 extendedData 由字符串转为 json 对象得到 stream_delete_reason 字段,该字段为流删除原因的数组,stream_delete_reason[].code 字段可能为如下值:1(用户主动停止推流); 2(用户心跳超时); 3(用户重复登录); 4(用户被踢出); 5(用户断线); 6(被服务端移除)
exceptionUpdate
web exceptionUpdate: ExceptionUpdateCallBack 监听推拉流的采集、编码解码异常/恢复正常事件通知
屏幕共享流存在采集停止页面以及共享页面无音频情况,所以不建议以 exceptionUpdate 返回的数据作异常参考
networkQuality
mixerSoundLevelUpdate
autoMixerSoundLevelUpdate
autoMixerSoundLevelUpdate: AutoMixerSoundLevelUpdateCallBack 自动混流中的每条单流的声浪更新通知。
backgroundEffectError
recvExperimentalAPI
mixerRelayCDNStateUpdate
playerVideoTrackUpdate
playerVideoTrackUpdate: PlayerTrackUpdateCallBack 拉流的视轨发生改变时触发。 使用场景:当需要单独拿拉流得到的视轨进行视频渲染处理时使用。大部分场景都可以用 ZegoStreamView 渲染音视频,不推荐使用该事件回调。
playerAudioTrackUpdate
playerAudioTrackUpdate: PlayerTrackUpdateCallBack 拉流的音轨发生改变时触发。 使用场景:当需要单独拿拉流得到的音轨进行音频渲染处理时使用。大部分场景都可以用 ZegoStreamView 渲染音视频,不推荐使用该事件回调。
publisherVideoEncoderChanged
publisherVideoEncoderChanged: PublisherVideoEncoderChangedCallBack 推流编码更新回调。
- 业务场景:当推流设置了enableAutoSwitchVideoCodec为true 且内部发生了编码切换时触发。
方法
BackgroundEffectErrorCallBack
BackgroundEffectErrorCallBack(stream: MediaStream, errorCode: number, extendedData: string): void| 名称 | 类型 | 描述 |
|---|---|---|
| stream | MediaStream | 开启背景虚化、虚拟功能对应的媒体流对象。 |
| errorCode | number | 错误码。 |
| extendedData | string | 错误描述信息。 |
MixerRelayCDNStateUpdateCallBack
MixerRelayCDNStateUpdateCallBack(taskID: string, infoList: Array<ZegoStreamRelayCDNInfo>): void| 名称 | 类型 | 描述 |
|---|---|---|
| taskID | string | 混流任务 ID。 |
| infoList | Array<ZegoStreamRelayCDNInfo> | 当前 CDN 正在混流的信息列表。 |
RecvExperimentalAPICallBack
RecvExperimentalAPICallBack(content: Object): void| 名称 | 类型 | 描述 |
|---|---|---|
| content | Object | 回调的内容,JSON 对象。 |
ExceptionUpdateCallBack
ExceptionUpdateCallBack(streamID: string, eventData: ExceptionData): void| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | string | 流媒体ID |
| eventData | ExceptionData |
PlayerRecvSEICallBack
PlayerRecvSEICallBack(streamID: string, data: Uint8Array): void| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | string | 流 ID |
| data | Uint8Array | SEI 内容 |
BeautyEffectErrorCallBack
BeautyEffectErrorCallBack(stream: MediaStream, errorCode: number, extendedData: string): void| 名称 | 类型 | 描述 |
|---|---|---|
| stream | MediaStream | 开启美颜功能对应的媒体流对象。 |
| errorCode | number | 错误码。 |
| extendedData | string | 错误描述信息。 |
PublishQualityUpdateCallBack
PublishQualityUpdateCallBack(streamID: string, stats: ZegoPublishStats): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | string | 推流流ID |
| stats | ZegoPublishStats | 推流质量描述 |
详情
订阅推流质量回调
触发条件:推流成功后
限制频率:无
关注回调:无
重点提示:每 3 秒回调一次
- 支持版本:1.0.0
废弃时间:无
PublisherStateUpdateCallBack
PublisherStateUpdateCallBack(result: ZegoPublisherState): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| result | ZegoPublisherState | 推流状态结果 |
详情
推流的状态通知,推流是异步过程,中间的状态切换都通过该接口回调。监听该回调,对重试依旧不能成功的情况,做错误日志收集,提示客户
触发条件:开始推流后
限制频率:无
关注回调:无
重点提示:必须在推流前监听
- 支持版本:1.0.0
废弃时间:无
ScreenSharingEndedCallBack
ScreenSharingEndedCallBack(mediaStream: MediaStream): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mediaStream | MediaStream | 创建屏幕共享流得到的流对象 |
详情
监听因为点击系统停止按钮,或者关闭捕捉进程等导致的屏幕共享流被动关闭
触发条件:屏幕共享后点击系统停止或者关闭捕捉进程等
限制频率:无
重点提示:必须在屏幕共享前监听
- 支持版本:1.0.0
废弃时间:无
NetworkQualityCallBack
NetworkQualityCallBack(userID: string, upstreamQuality: QualityGrade, downstreamQuality: QualityGrade): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户ID,本端用户为空,对端用户不为空 |
| upstreamQuality | QualityGrade | 上行网络质量等级,0 到 4 分别是由好到坏,-1 为未知。 |
| downstreamQuality | QualityGrade | 下行网络质量等级,0 到 4 分别是由好到坏,-1 为未知。 |
详情
房间内正在推流的用户的网络质量回调。
触发条件:流质量开始更新。
限制频率:无
重点提示:需要在推拉流前绑定。
-
支持版本:2.24.0
废弃时间:无
MixerSoundLevelUpdateCallBack
MixerSoundLevelUpdateCallBack(soundLevels: Map<number, number>): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevels | Map<number, number> | 混流中每条单流的声浪键值对,key 为每条单流的 soundLevelID,value 为对应的单流的声浪值。取值范围:value 的取值范围为 0.0 ~ 100.0。 |
详情
开发者可根据此回调在观众拉混流的 UI 界面显示哪条流的主播在说话的效果。
-
业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
触发条件:开发者调用 [startPlayingStream] 函数并且拉流选项开启接收 SEI,开始拉混流后触发回调,回调通知周期为 100 ms。
-
支持版本:3.0.0
废弃时间:无
-
注意事项:该功能需要联系技术支持开通混流服务端相应功能配置。
AutoMixerSoundLevelUpdateCallBack
AutoMixerSoundLevelUpdateCallBack(soundLevels: soundLevels: Map<string, number>): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevels | soundLevels: Map<string, number> | 混流中每条单流的声浪键值对,key 为每条单流的 streamID,value 为对应的单流的声浪值,value 的取值范围为 0.0 ~ 100.0。 |
详情
开发者可根据此回调在观众拉混流的 UI 界面显示哪条流的主播在说话的效果。
-
业务场景:常用于需要多个视频画面合成一个视频时使用混流,比如教育类,直播老师和学生的画面。
触发条件:开发者调用 [startPlayingStream] 函数并且拉流选项开启接收 SEI,开始拉混流后触发回调,回调通知周期为 100 ms。
-
支持版本:3.0.0
废弃时间:无
-
注意事项:该功能需要联系 ZEGO 技术支持开通混流服务端相应功能配置。
RoomStreamUpdateCallBack
RoomStreamUpdateCallBack(roomID: string, updateType: 'DELETE' | 'ADD', streamList: ZegoStreamList[], extendedData: string): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| updateType | 'DELETE' | 'ADD' | DELETE:流删除,ADD:流新增 |
| streamList | ZegoStreamList[] | 更新流列表,数组顺序是以服务器接收到的时间进行排序。 |
| extendedData | string | 扩展信息 |
详情
监听已登录房间内其他用户流的变化(增加,删除)
触发条件:房间内其他用户有流新增或删除
限制频率:无
重点提示:需要在登录房间前调用
- 支持版本:1.0.0
废弃时间:无
PlayQualityUpdateCallBack
PlayQualityUpdateCallBack(streamID: string, stats: ZegoPlayStats): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | string | 流 ID |
| stats | ZegoPlayStats | 拉流质量回调信息 |
详情
订阅拉流质量回调
触发条件:拉流成功后
限制频率:无
关注回调:无
重点提示:每 3 秒回调一次
- 支持版本:1.0.0
废弃时间:无
StreamExtraInfoUpdateCallBack
StreamExtraInfoUpdateCallBack(roomID: string, streamList: { streamID: string; user: ZegoUser; extraInfo: string }[]): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| streamList | { streamID: string; user: ZegoUser; extraInfo: string }[] | 流信息 |
详情
接收对端设置的流附加信息
触发条件:流附加消息更新
- 支持版本:1.0.0
废弃时间:无
PlayerStateUpdateCallBack
PlayerStateUpdateCallBack(result: ZegoPlayerState): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| result | ZegoPlayerState | 拉流状态结果 |
详情
拉流的状态通知,拉流是异步过程,中间的状态切换都通过该接口回调。监听该回调,对重试依旧不能成功的情况,做错误日志收集,提示客户
触发条件:开始拉流后
限制频率:无
关注回调:无
重点提示:必须在拉流前监听
- 支持版本:1.0.0
废弃时间:无
RemoteMicStatusUpdateCallBack
RemoteMicStatusUpdateCallBack(streamID: string, status: 'OPEN' | 'MUTE'): void| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | string | 流 ID |
| status | 'OPEN' | 'MUTE' | 所拉流的麦克风状态 'OPEN'表示开启 'MUTE'表示关闭 |
SoundLevelUpdateCallBack
SoundLevelUpdateCallBack(soundLevelList: ZegoSoundLevelInfo[]): void| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevelList | ZegoSoundLevelInfo[] | 声浪信息列表,包括流id,声浪大小,及流状态 |
PlayerTrackUpdateCallBack
PlayerTrackUpdateCallBack(streamID: string, track: MediaStreamTrack): void| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | string | 流 ID |
| track | MediaStreamTrack | streamID 对应的拉流上的音轨或视轨。 |
PublisherVideoEncoderChangedCallBack
PublisherVideoEncoderChangedCallBack(fromCodecID: ZegoVideoCodecID, toCodecID: ZegoVideoCodecID, streamID: string): void| 名称 | 类型 | 描述 |
|---|---|---|
| fromCodecID | ZegoVideoCodecID | 原始视频编码 |
| toCodecID | ZegoVideoCodecID | 变更后的视频编码 |
| streamID | string | 流 ID |
RemoteCameraStatusUpdateCallBack
RemoteCameraStatusUpdateCallBack(streamID: string, status: 'OPEN' | 'MUTE' ): void| 名称 | 类型 | 描述 |
|---|---|---|
| streamID | string | 流 ID |
| status | 'OPEN' | 'MUTE' | 所拉流的摄像头状态 'OPEN'表示开启 'MUTE'表示关闭 |
videoDeviceStateChangedCallBack
videoDeviceStateChangedCallBack(updateType: 'DELETE' | 'ADD', deviceInfo: { deviceName: string; deviceID: string; }): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| updateType | 'DELETE' | 'ADD' | 'DELETE' 为设备被移除, 'ADD'表示设备增加 |
| deviceInfo | { deviceName: string; deviceID: string; } | 设备信息,deviceName为设备名称,deviceID为设备ID |
详情
监测到系统中有视频设备添加或移除时,会触发此回调。通过监听此回调,用户可在必要的时候更新使用特定设备进行视频采集。
触发条件:视频设备添加或移除时触发
限制频率:无
关注回调:无
重点提示: 需要浏览器授权麦克风摄像头后才能触发回调; 由于设备和浏览器的限制,部分浏览器在使用某些设备时可能不会触发该回调
- 支持版本:1.16.0
废弃时间:无
audioDeviceStateChangedCallBack
audioDeviceStateChangedCallBack(updateType: 'DELETE' | 'ADD', deviceType: 'Input' | 'Output', deviceInfo: {deviceName: string; deviceID: string; }): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| updateType | 'DELETE' | 'ADD' | 'DELETE' 表示设备删除, 'ADD'表示设备增加 |
| deviceType | 'Input' | 'Output' | 'Input'表示输入设备, 'Output'表示输出设备 |
| deviceInfo | {deviceName: string; deviceID: string; } | 设备信息 |
详情
监测到系统中有音频设备添加或移除时,会触发此回调。通过监听此回调,用户可在必要的时候更新使用特定设备进行音频采集。
触发条件:音频设备添加或移除时触发
限制频率:无
关注回调:无
重点提示: 需要浏览器授权麦克风摄像头后才能触发回调; 由于设备和浏览器的限制,部分浏览器在使用某些设备时可能不会触发该回调
- 支持版本:1.16.0
废弃时间:无
deviceErrorCallBack
deviceErrorCallBack(errorCode: number, deviceName: string): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | number | 错误码 |
| deviceName | string | 发生异常的设备名称 |
详情
当本地推流的音频或视频设备读写出现异常时会触发此回调
触发条件:推流使用的音视频设备出现异常(如松动时)触发
限制频率:无
关注回调:无
重点提示: 推流后才可能触发; 由于设备和浏览器的限制,部分浏览器在使用某些设备时可能不会触发该回调
- 支持版本:1.16.0
废弃时间:无
CapturedSoundLevelUpdateCallBack
CapturedSoundLevelUpdateCallBack(soundLevel: number): void| 名称 | 类型 | 描述 |
|---|---|---|
| soundLevel | number | 本地采集的声浪值,取值范围为 0.0 ~ 100.0 。 |
ZegoRTMEvent
信令服务相关事件集合
详情
描述事件名及其对应的回调参数。
- 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
属性
roomUserUpdate
roomStateUpdate
roomStateUpdate: RoomStateUpdateCallBack 房间和服务器之间的连接状态发生变化时触发的回调,2.16.0 及以上版本建议使用 roomStateChanged。
roomOnlineUserCountUpdate
IMRecvBroadcastMessage
IMRecvBarrageMessage
IMRecvCustomCommand
roomExtraInfoUpdate
tokenWillExpire
roomStateChanged
roomStateChanged: RoomStateChangedCallBack 当房间的连接状态改变时触发该回调,并通知改变的原因。2.16.0 及以上版本推荐使用 roomStateChanged 回调来替代 roomStateUpdate 回调监听房间状态变化。
- 业务场景:开发者可以通过这个回调来判断房间内当前用户的状态。开发者调用房间相关函数 (参考 “相关接口”) 时会收到此通知。用户设备的网络情况变化时也可能收到此通知(SDK 在断线时会自动重新登录房间,详情请参考 SDK 是否支持断线重连机制?)。
- 隐私保护声明:提醒用户尽量不要在某些参数(例如userName、userID)传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 注意事项:若长时间处于正在请求连接状态 LOGINING,一般是因为用户端网络不稳定导致。
方法
RoomUserUpdateCallBack
RoomUserUpdateCallBack(roomID: string, updateType: 'DELETE' | 'ADD', userList: ZegoUser[]): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 发生用户变化房间的ID |
| updateType | 'DELETE' | 'ADD' | 用户行为,DELETE 表示离开,ADD 表示进入 |
| userList | ZegoUser[] | 发生变化用户的具体信息 |
详情
当前登录的房间,如果用户发生新增,删除等,触发回调通知当前用户
触发条件:其他用户登录,退出时触发
限制频率:无
关注回调:无
重点提示:触发前提是登录时,设置了关注用户变化,即 loginRoom 的参数 config 的 userUpdate 设置为 true
- 支持版本:1.0.0
废弃时间:无
RoomStateUpdateCallBack
RoomStateUpdateCallBack(roomID: string, state: 'DISCONNECTED' | 'CONNECTING' | 'CONNECTED', errorCode: number, extendedData: string): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| state | 'DISCONNECTED' | 'CONNECTING' | 'CONNECTED' | DISCONNECTED: 登出房间或房间和服务器断开,并重试后仍旧失败。 CONNECTING: 断开并开始重连。 CONNECTED: 登录成功或重连成功。 |
| errorCode | number | 断开时候的具体错误码 |
| extendedData | string | 扩展信息 |
详情
房间连接状态回调,state 分别为'DISCONNECTED','CONNECTING','CONNECTED'
触发条件:登录房间、登出房间或断网重连等情况触发。
限制频率:无
重点提示:登录前注册才会收到回调,2.16.0 及以上版本建议使用 roomStateChanged。
- 支持版本:1.0.0
废弃时间:无
RoomStateChangedCallBack
RoomStateChangedCallBack(roomID: string, reason: ZegoRoomStateChangedReason, errorCode: number, extendedData: string): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| reason | ZegoRoomStateChangedReason | 房间状态改变原因 |
| errorCode | number | 断开时候的具体错误码 |
| extendedData | string | 扩展信息 |
详情
房间连接状态回调,state 分别为'LOGINING','LOGINED','LOGIN_FAILED' ,'RECONNECTING','RECONNECTED','RECONNECT_FAILED','KICKOUT','LOGOUT','LOGOUT_FAILED'
触发条件:在断开连接,重试连接及重连成功时触发
限制频率:无
重点提示:登录前注册才会收到回调
- 支持版本:2.16.0
废弃时间:无
RoomOnlineUserCountUpdateCallBack
RoomOnlineUserCountUpdateCallBack(roomID: string, count: number): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 发生用户变化房间的ID |
| count | number | 当前在线用户数量 |
详情
回调当前房间内的在线人数
触发条件:用户成功登录房间时触发,成功登录后每30s触发一次
重点提示:无
- 支持版本:1.11.0
废弃时间:无
IMRecvBroadcastMessageCallBack
IMRecvBroadcastMessageCallBack(roomID: string, chatData: ZegoBroadcastMessageInfo[]): void| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| chatData | ZegoBroadcastMessageInfo[] | 房间消息信息 |
IMRecvBarrageMessageCallBack
IMRecvBarrageMessageCallBack(roomID: string, messageInfo: ZegoBarrageMessageInfo[]): void| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| messageInfo | ZegoBarrageMessageInfo[] | 弹幕消息信息 |
IMRecvCustomCommandCallBack
IMRecvCustomCommandCallBack(roomID: string, fromUser: ZegoUser, command: string): void| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| fromUser | ZegoUser | 发送消息用户信息 |
| command | string | 收到的自定义消息 |
roomExtraInfoUpdateCallBack
roomExtraInfoUpdateCallBack(roomID: string, roomExtraInfoList: ZegoRoomExtraInfo[]): void| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间ID |
| roomExtraInfoList | ZegoRoomExtraInfo[] | 房间附加消息数组 |
tokenWillExpireCallBack
tokenWillExpireCallBack(roomID: string): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | token将要过期房间的ID |
详情
token 将要过期通知, 收到通知后请主动调用renewToken更新token
触发条件:token 中包含过期时间前30s触发该回调
限制频率:无
关注接口:renewToken
重点提示:token过期时间取自token, 请确保生成token的服务器时间准确
- 支持版本:2.6.0
废弃时间:无
ZegoRangeAudioEvent
范围语音功能相关事件集合。
详情
描述事件名及其对应的回调参数。
- 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
属性
microphoneStateUpdate
publishQualityUpdate
playQualityUpdate
aiDenoiseError
audioSourceWithinRangeUpdate
audioSourceWithinRangeUpdate: AudioSourceWithinRangeUpdateCallBack 范围内用列表回调
方法
AudioSourceWithinRangeUpdateCallBack
AudioSourceWithinRangeUpdateCallBack(userID: string, position: number[]): void| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户 ID |
| position | number[] | 位置信息 |
MicrophoneStateUpdateCallBack
MicrophoneStateUpdateCallBack(state: ZegoRangeAudioMicrophoneState, errorCode: number, extendedData?: string): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| state | ZegoRangeAudioMicrophoneState | 麦克风更新状态 |
| errorCode | number | 错误码 |
| extendedData | string | 描述信息 |
详情
麦克风和音频上行的状态通知,开启发送音频是异步过程,中间的状态切换都通过该接口回调。
触发条件:调用 ZegoExpressRangeAudio 的 enableMicrophone 接口。
重点提示:必须在 enableMicrophone 接口调用前监听。
- 支持版本:2.10.0
RangeAudioPlayQualityUpdateCallBack
RangeAudioPlayQualityUpdateCallBack(userID: string, stats: RangeAudioPlayStats): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户 ID。 |
| stats | RangeAudioPlayStats | 音频接收质量相关指标集合。 |
详情
音频下行的质量通知。
触发条件:调用 ZegoExpressRangeAudio 的 enableMicrophone 接口。
- 支持版本:2.20.0
RangeAudioPublishQualityUpdateCallBack
RangeAudioPublishQualityUpdateCallBack(userID: string, stats: RangeAudioPublishStats): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户 ID。 |
| stats | RangeAudioPublishStats | 音频发送质量相关指标集合。 |
详情
音频上行的质量通知。
触发条件:调用 ZegoExpressRangeAudio 的 enableMicrophone 接口。
- 支持版本:2.20.0
AiDenoiseErrorCallBack
AiDenoiseErrorCallBack(errorCode: number, extendedData: string): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | number | 错误码。 |
| extendedData | string | 错误描述信息。 |
详情
AI 降噪错误回调。
触发条件:调用 ZegoExpressRangeAudio 的 enableAiDenoise 或 enableMicrophone 接口使用 AI 降噪功能出现异常。
- 支持版本:2.21.0
ZegoRangeAudioUserUpdateCheckConfig
详情
检查范围内用户变更配置。
属性
frequency
frequency: number 检查范围内用户变更的频率。
ZegoRoomConfig
房间相关配置
属性
userUpdate
userUpdate: boolean 设置 roomUserUpdate 是否回调,默认为 false 不回调
maxMemberCount
maxMemberCount: number 房间最大用户数量,传 0 视为不限制,默认无限制; 只有第一个登录房间的用户设置生效
ZegoRoomExtraInfo
属性
key
key: string 房间附加消息的键
value
value: string 房间附加消息的值
updateUser
updateTime
updateTime: number 房间附加消息的更新时间
ZegoRoomRecvTransparentMessage
收到房间的透传消息
属性
sendUser
content
content: Uint8Array 收到的消息内容
ZegoRoomSendTransparentMessage
房间透传消息
详情
房间透传消息,包括房间id, 消息内容,发送用户,发送类型,发送模式,超时时间。
属性
sendMode
sendType
content
content: Uint8Array 发送的内容
recvUserList
recvUserList: ZegoUser[] 消息接收者列表,当sendType 指定为ZegoRoomTransparentMessageModeOnlyServer 可不填。当指定为 ZegoRoomTransparentMessageModeClientAndServer 或 ZegoRoomTransparentMessageModeOnlyClient 时,为空将发送给房间所有在线用户。
timeOut
timeOut: number 消息的发送超时时间,单位s, 默认10s。
ZegoSEIConfig
- 支持版本:2.16.0
属性
unregisterSEIFilter
unregisterSEIFilter: string 采用 H.264 的 SEI (nalu type = 6,payload type = 5) 类型打包,因为视频编码器自身会产生 payload type 为 5 的 SEI,或者使用视频文件推流时,视频文件中也可能存在这样的 SEI,所以使用此类型时,用户需要把 uuid + content 当作 buffer 塞给 SEI 发送接口;此时为了区别视频编码器自身产生的 SEI, App 在发送此类型 SEI 时,可以填写业务特定的 uuid(uuid长度为16字节),接收方使用 SDK 解析 payload type 为 5 的 SEI 时,会根据设置的过滤字符串过滤出 uuid 相符的 SEI 抛给业务,如果没有设置过滤字符串,SDK 会把所有收到的 SEI 都抛给开发者。
- 业务场景:发送 SEI,采用 H.264 的 SEI (nalu type = 6,payload type = 5) 类型打包 。
SEIPass
SEIPass: boolean 放开对 payloadType 为 5 的 SEI 内容收发限制。 对于 payloadType 为 5 的 SEI 内容,当参数值设为 true 切 没有设置 unregisterSEIFilter,则放开所有 SEI 的发送和接收;当参数值设为 false 时(默认值),则只发送和接收符合 unregisterSEIFilter 的 SEI。
emulationPreventionByte
emulationPreventionByte: boolean SEI 开关防竞争码处理开关,默认值是 false,即关闭状态。 在发送 SEI 二进制数据中可能有与 H264 中 NALU 的分片开头标识符相同,导致 NALU 切片出现错误。因此 ZegoSEIConfig 新增 emulationPreventionByte 属性 SEI 开关防竞争码处理,即将 SEI 数据中与标识符相同的内容进行编码后,再发送出去,由拉流端接收时进行解码,可有效避免该情况的出现。
ZegoScreen
创建屏幕共享媒体流相关参数约束
详情
该类用于约束接口 createStream 的参数 source.screen。
- 业务场景:创建屏幕共享媒体流。
- 注意事项:当 videoQuality 为 4 时,camera 增加 width / height / frameRate / bitrate 属性,这几个参数只支持正整数,必须要把这四个属性也传递给 SDK。
属性
audio
audio: boolean 是否需要音频,默认为 false
videoQuality
videoQuality: 1|2|3|4 一般而言,屏幕共享视频质量的选择要根据实际情况和场景来确定,screen 中的 videoQuality 提供三种预设值:
1:帧率较大,适合对流畅度要求较高的场景。 2:适合在流畅度和清晰度之间取得平衡的场景。 3:码率较大,适合对清晰度要求较高的场景。 除了以上三种预设值,videoQuality 还提供一种自定义取值 4,可自定义帧率、码率,screen 增加 frameRate / bitrate 属性,使用时需要把这两个属性也传递给 SDK。
视频质量等级,默认质量等级为 2 1 帧率:20 码率: 800K 2 帧率:15 码率: 1500K 3 帧率:5 码率: 2000K 4 帧率
码率: bitrate(k)width
height
bitrate
bitrate: number 码率
frameRate
bitRate
bitRate: number 码率(旧写法,建议使用 bitrate)
startBitrate
startBitrate: "default" | "target" 开始码率,默认为 “default”,环境要求:谷歌内核浏览器及 2.7.0 以上版本的 SDK 。 值为 “default” 表示使用 webrtc 默认开始码率 300kbps 然后慢慢上升;值为 “target” 表示快速上升到已设置的目标码率。
videoOptimizationMode
videoOptimizationMode: "default" | "motion" | "detail" 视频优化模式,默认为 “default“ ; 值为 “motion” 表示流畅模式,在大多数情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。 值为 ”detail“ 表示清晰模式,在大多数情况,SDK 不会降低发送分辨率,但是可能会降低帧率
sourceID
sourceID: string 指定屏幕共享画面 ID , 仅限chrome 内核浏览器使用
minBitrate
minBitrate: number 推流码率最小值。当网络较差的时候可接受的视频质量下降码率的最小值。
- 业务场景:期望视频持续高质量则把 minBitrate设置为接近目标码率的值。视频质量要求不高的推流可以把 minBitrate 设置得较低。
- 默认值:默认最小码率是目标码率的 60%。
keyFrameInterval
keyFrameInterval: number 视频关键帧间隔时长,单位秒。屏幕共享可以通过调大关键帧的间隔时长以减少视频编码性能压力。
- 默认值:2 秒。
- 取值范围:[2, 6]。
ANS
ANS: boolean 是否开启降噪,默认关闭。
AGC
AGC: boolean 是否开启自动增益,默认关闭。
AEC
AEC: boolean 是否开启回声消除,默认开启。
ZegoServerResponse
属性
errorCode
errorCode: number 返回错误码,为 0 则是成功
extendedData
extendedData: string 扩展信息
ZegoSnapshotOptions
截图相关配置选项
属性
imageType
imageType: string 图片格式,支持 png 和 jpeg,默认为png。
- 业务场景:指定截图的图片格式。
quality
quality: number 图片质量,0-1,默认1。
- 业务场景:指定截图的图片质量。
save
save: boolean 是否把截图保存下载到本地文件。
fileName
fileName: string 保存文件的名称,只在 save 设置为 true 时生效。
ZegoSongLineScoreInfo
歌曲每行打分完成信息。
属性
lineIndex
lineIndex: number 行的索引。
previousScore
previousScore: number 打分完成这一句分数。
averageScore
averageScore: number 平均分。
totalScore
totalScore: number 总分。
ZegoSoundLevelInfo
音浪信息
属性
streamID
streamID: string 流ID
soundLevel
soundLevel: number 音浪大小,取值范围 [0,100],通常一个人正常说话时麦克风音浪会波动到 10 以上。
type
type: "push" | "pull" 用于区分推拉流,“push” 表示推流,“pull” 表示拉流。
ZegoStartScoreParams
开始打分相关参数。
属性
resourceID
resourceID: string 伴奏或高潮片段对应的资源 ID。
localStream
localStream: MediaStream 采集麦克风声音的媒体流对象。
player
player: HTMLMediaElement 播放伴奏的 h5 播放器。
enableSongLineScoreCompleteEvent
enableSongLineScoreCompleteEvent: boolean 开启每行打分完成回调。
ZegoStreamCompositorInputOption
本地混流输入流配置
属性
layout
objectFit
objectFit: string 视频或图片内容适应所在图层的方式,有 "cover" | "contain" | "fill"
contentType
contentType: string 输入流的混合类型,"VIDEO" | "AUDIO" | "ALL"
volume
volume: number 输入流的输出音量,[0, 100]
ZegoStreamCompositorLayoutOption
本地混流输入流配置
属性
x
x: number 输入的图层左上角相对于画布左上角的横向位移
y
y: number 输入的图层左上角相对于画布左上角的纵向位移。
width
width: number 图层的宽度 (px)
height
height: number 图层的高度 (px)
zOrder
zOrder: number 图层的层级
ZegoStreamCompositorOutputConfig
本地混流输出流配置
属性
width
width: number 输出宽
height
height: number 输出高
frameRate
frameRate: number 输出帧率
bitrate
bitrate: number 输出码率
ZegoStreamList
流信息
属性
streamID
streamID: string 流 ID
user
extraInfo
extraInfo: string 流附加信息
urlsFLV
urlsFLV: string flv 播放地址
urlsRTMP
urlsRTMP: string rtmp 播放地址
urlsHLS
urlsHLS: string hls 播放地址
urlsHttpsFLV
urlsHttpsFLV: string https 协议的 flv 播放地址
urlsHttpsHLS
urlsHttpsHLS: string https 协议的 hls 播放地址
ZegoStreamOptions
createZegoStream 接口的配置参数约束
详情
该类用于约束接口 createZegoStream 的配置参数。
- 业务场景:创建zegoLocalStream实例对象。
- 注意事项:camera、screen 和 custom 三个参数在每次调用接口 createStream 时只能选填其中一个。
属性
camera
camera: { video?: boolean | ZegoCaptureCamera; audio?: boolean | ZegoCaptureMicrophone; } 摄像头麦克风采集流相关配置; 3.8.0 版本之前,该配置只在调用 createZegoStream 时生效,后续调用采集相关接口时不会使用该配置;3.8.0 版本之后,后续调用采集相关接口时若不传参则使用该配置,若传参则使用新的配置参数。
screen
screen: { video?: boolean | ZegoCaptureScreenVideo; audio?: boolean | ZegoCaptureScreenAudio; } 屏幕捕捉采集流相关配置; 3.8.0 版本之前,该配置只在调用 createZegoStream 时生效,后续调用采集相关接口时不会使用该配置;3.8.0 版本之后,后续调用采集相关接口时若不传参则使用该配置,若传参则使用新的配置参数。
custom
custom: { video?: ZegoCustomVideo; audio?: ZegoCustomAudio; } 第三方流采集相关配置; 3.8.0 版本之前,该配置只在调用 createZegoStream 时生效,后续调用采集相关接口时不会使用该配置;3.8.0 版本之后,后续调用采集相关接口时若不传参则使用该配置,若传参则使用新的配置参数。
autoCapture
autoCapture: boolean 是否自动采集,默认为true; autoCapture 为 false 时,camera、screen、custom 传入的配置不生效,需在采集接口传入相关的配置参数。
autoPlay
autoPlay: boolean 是否自动播放预览视频,当autoPlay为true时,需要传入参数captureView、view
videoBitrate
videoBitrate: number | { bitrate?: number; startBitrate?: "default" | "target"; minBitrate?: number; } 视频码率, 单位是 kbps。
audioBitrate
audioBitrate: number 音频码率,单位是 kbps。
captureView
captureView: HTMLElement playCaptureVideo播放预览采集流的挂载节点,配合autoPlay为true时使用。
view
view: HTMLElement playVideo播放预览待推送视频或者正在推流中的视频的挂载节点,配合autoPlay为true时使用。
ZegoStreamRelayCDNInfo
包括转推 CDN 的 URL、转推状态等
属性
url
url: string CDN 地址
state
state: "NO_RELAY" | "RELAY_REQUESTING" | "RELAYING" NO_RELAY:未转推状态,在转推前处于该状态。如果转推过程出现稳态的异常,例如 转推地址 不正确,都会进入未转推状态;RELAY_REQUESTING:正在请求转推状态,转推操作执行成功后会进入正在请求转推状态,通常通过该状态进行应用界面的展示。如果因为网络质量不佳产生的中断,SDK 会进行内部重试,也会回到正在转推状态,RELAYING:正在转推状态,进入该状态表明转推已成功
updateReason
updateReason: string 变化原因
stateTime
stateTime: number 更新时间
ZegoStreamViewOptions
媒体流播放组件选项。
属性
mirror
mirror: boolean 镜像显示,true 为开启,false 为关闭,默认是关闭。
objectFit
objectFit: "cover" | "contain" | "fill" 视频画面显示模式,"cover" 为覆盖容器;"contain" 为显示全部内容;"fill" 为拉伸填充。默认是 "contain"。
muted
muted: boolean 是否静音,true 为开启静音,false 为关闭静音。本地流的播放默认是静音,远端流的播放默认是关闭静音。
enableAutoplayDialog
enableAutoplayDialog: boolean 自动播放失败弹窗,默认开启,当出现自动播放失败时,SDK 会弹窗引导用户点击页面,来恢复音视频播放。可设置为 false 关闭。
clearLastFrame
clearLastFrame: boolean 当视频数据中断时是否去掉最后一帧画面。true 为清除,false 为保留,默认是 true。
ZegoSwitchRoomConfig
切换房间相关配置
详情
switchRoom 接口中 toRoomID 房间的配置
属性
token
token: string 登录 toRoomID 房间的验证 token,是通过在即构控制台注册项目获得密钥,加上指定算法获得。测试阶段可以通过 ZEGO 提供的接口获取,正式环境一定要用户自己实现。
maxMemberCount
maxMemberCount: number 房间最大用户数量,传 0 视为不限制,默认无限制; 只有第一个登录房间的用户设置生效
isUserStatusNotify
isUserStatusNotify: boolean 设置 roomUserUpdate 是否回调,默认为 false 不回调
ZegoTurnServer
TURN 服务器配置信息。
详情
TURN 服务器配置信息。
属性
url
url: string TURN 服务器的 URL 地址。
username
username: string 身份验证过程中要使用的用户名。
credential
credential: string 登录服务器时使用的凭据。
ZegoUser
属性
userID
userID: string 请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。 用户 ID,由开发者自己生成,最大 64 字节的字符串。仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.
userName
userName: string 请勿在此字段填写用户敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。 用户名,由开发者自己生成,最大长度不超过 256 字节的字符串
ZegoVideoCodec
属性
H264
H264: boolean 是否支持H264编解码能力
VP8
VP8: boolean 是否支持VP8编解码能力
H265
H265: boolean 是否支持H265编解码能力
ZegoWatermark
混流水印
详情
配置一个水印的图片 URL 以及该水印在画面中的大小方位。
属性
imageURL
imageURL: string 水印图片路径。支持本地文件绝对路径 (file://xxx)、Asset 资源路径 (asset://xxx) 和 Android URI 路径 (String path = "uri://" + uri.toString();)。 格式支持 png、jpg。
layout
ZegoWebPlayOption
属性
video
video: boolean 是否需要拉取视频,默认为 true; 通常情况下建议不填,SDK 默认会根据拉到的实际设备状态选择是否拉音视频
audio
audio: boolean 是否需要拉取音频,默认为 true; 通常情况下建议不填,SDK 默认会根据拉到的实际设备状态选择是否拉音视频
streamParams
streamParams: string 拉流额外参数;鉴权参数 streamParams 格式如下:'zg_expired=XX&zg_nonce=XX&zg_token=XX',只有需要配置鉴权时才传入,否则请忽略
resourceMode
resourceMode: 0 | 1 | 2 | 5 拉流模式,默认为 0。0 表示仅从 RTC 拉流;1 表示仅从 CDN 拉流;2 表示仅从 L3 拉流;5 表示自定义模式,SDK根据推流设置的customResourceConfig参数选择推流资源。
isSEIStart
isSEIStart: boolean 是否解析 SEI 。
streamType
streamType: 0 | 1 | 2 拉流大小流类型 0 为小流,1为大流,2为自动
CDNPlayer
CDNPlayer: any ZegoExpressPlayer 或 ZegoCDNPlayer 实例对象,目前仅支持flv格式。如果使用 ZegoExpressPlayer (播放器支持版本为 1.3.0 及以上),无需配置 CDNVideo 字段,SDK 会使用播放器指定的容器进行播放。
CDNVideo
CDNVideo: HTMLMediaElement 用于播放 CDN 资源的 <video> 标签元素。
playoutDelayHint
playoutDelayHint: number 设置拉流音视频播放延迟,单位为秒。 如果网络状况不佳,浏览器可能会增加播放延迟以减少卡顿。 自 3.7.0 起,废弃该参数,改为使用 jitterBufferTarget。
jitterBufferTarget
jitterBufferTarget: number 拉流音视频播放延迟,单位为毫秒,取值(0, 4000]ms。如果网络状况不佳,浏览器可能会增加播放延迟以减少卡顿。 如果将enableLowLatency设置为true,则此参数不起作用。 自 3.7.0 版本起支持该参数。
enableLowLatency
enableLowLatency: boolean 是否允许超低延迟播放,默认为 false; 当设置为true,则jitterBufferTarget参数不起作用。 当开启超低延迟播放后,此时优先保障低延迟,但弱网时可能产生卡顿。 自 3.7.0 版本起支持该参数。
customResourceConfig
customResourceConfig: ZegoCustomPlayerResourceConfig 当 [resourceMode] 为5 即自定义拉流资源策略时的拉流资源类型配置。 自 3.7.0 版本起支持该参数。
codecTemplateID
codecTemplateID: number 码率模板ID,用于拉取指定码率模板的流。 取值大于 100 的整数,ID 必须唯一。
adaptiveSwitch
adaptiveSwitch: boolean 是否开启流的自适应切换,1 表示开启,0 表示关闭。仅 [resourceMode] 为 L3 时有效。 若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。
adaptiveTemplateIDList
adaptiveTemplateIDList: number[] 流的自适应转码模板ID列表。仅 [resourceMode] 为 L3 时有效。 若需要使用请联系 ZEGO 技术支持,否则可以忽略此参数。
transcodeOnDecodeFail
transcodeOnDecodeFail: boolean 允许在视频解码失败时自动使用单流转码 h264 或者 codecTemplateID 指定的编码模版
ZegoWebPublishOption
属性
streamParams
streamParams: string 推流备选参数 ; 备选参数 streamParams 格式如下:'zg_expired=XX&zg_nonce=XX&zg_token=XX',只有需要配置鉴权才传入(可选功能)
extraInfo
extraInfo: string 流附加信息
videoCodec
videoCodec: 'VP8' | 'H264' | 'H265' 推流视频编码,只能传入 'VP8' (string) 或 'H264' (string),默认值为 'H264' 。
roomID
roomID: string 房间ID,开启多房间功能后必填,选择在哪个房间推流。
isSEIStart
isSEIStart: boolean 是否开启 SEI
SEIType
forceSynchronousNetworkTime
forceSynchronousNetworkTime: number 推流时是否同步网络时间。且必须与 setStreamAlignmentProperty 方法配合使用。用于在混流服务或拉流端对多条流进行对齐,比如 KTV 的合唱场景。传 1 为开启,0 为关闭,默认是关闭。
enableDTX
enableDTX: boolean 是否开启 DTX 静音检测,用于减少不发声时推流的音频码率。默认是关闭 DTX。
inspectFlag
inspectFlag: ZegoInspectFlagType - 注意事项:当设置为不允许送审时,审核服务商将不会拉取此条流送审;在使用流注入方式实现跨房间 PK 的业务场景时,建议将此字段设置为"不允许",以避免同一条流在多个房间内被重复送审。
trafficControlFocusOnMode
trafficControlFocusOnMode: TrafficControlFocusOnMode 触发流量控制的因素, 默认为TrafficControlFocusOnRemote
trafficControlMinVideoBitrate
trafficControlMinVideoBitrate: number 最低视频码率,单位为 kbps,当达不到最低视频码率时,以极低的视频帧率发送
enableTrafficControl
enableTrafficControl: boolean 流控开关,用于控制自适应码率,默认为开启, true: 开启, false:关闭。
enableAutoSwitchVideoCodec
enableAutoSwitchVideoCodec: boolean 当 videoCodec 不可用时,是否自动切换为可用的 videoCodec, 默认 false。 比如:当前设备不支持 H264,开启该配置后,SDK 会自动切换至 VP8。
trafficControlMinVideoMode
trafficControlMinVideoMode: TrafficControlMinVideoBitrateMode 流控触发最低码率时的视频发送模式。传 0 表示低码率切换纯音频;默认表示低码率时降低视频帧率。
