zego-express-engine-webrtc
Version:
zego webrtc express sdk
941 lines (940 loc) • 25.9 kB
TypeScript
import { ZegoRTMEvent, ZegoUser } from "./ZegoExpressEntity.rtm";
/**
* 媒体服务相关事件集合
*
* Note: 详情描述:描述事件名及其对应的回调参数。
*
* Note: 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
*
*/
export interface ZegoWechatMiniEvent {
/**
* 推流质量回调
*/
publishQualityUpdate: PublishQualityUpdateCallBack;
/**
* 推流状态回调
*/
publisherStateUpdate: PublisherStateUpdateCallBack;
/**
* 房间内流变化回调
*
* 收到流删除通知时,开发者可将 extendedData 由字符串转为 json 对象得到 stream_delete_reason 字段,该字段为流删除原因的数组,stream_delete_reason[].code 字段可能为如下值:1(用户主动停止推流); 2(用户心跳超时); 3(用户重复登录); 4(用户被踢出); 5(用户断线); 6(被服务端移除)
*/
roomStreamUpdate: RoomStreamUpdateCallBack;
/**
* 拉流质量回调,每次回调间隔3s
*/
playQualityUpdate: PlayQualityUpdateCallBack;
/**
* 接收对端设置的流附加信息
*/
streamExtraInfoUpdate: StreamExtraInfoUpdateCallBack;
/**
* 拉流状态回调
*/
playerStateUpdate: PlayerStateUpdateCallBack;
/**
* 混流转推 CDN 状态回调
*/
mixerRelayCDNStateUpdate: MixerRelayCDNStateUpdateCallBack;
}
export interface ZegoMixStreamAdvance {
/**
* 混流背景颜色; backgroundColor 为十六进制的 RGB,输入格式必须为 0xRRGGBBxx
*/
backgroundColor?: number;
/**
* 混流背景图片; backgroundImage 需要提前在即构后台预设 imageId,输入格式为 preset-id://xxx
*/
backgroundImage?: string;
/**
* 混流视频编码,'vp8'(string) 或 ' h264' (string),默认 'h264'(string)
*/
videoCodec?: "VP8" | "H264" | "vp8" | "h264";
}
export interface ZegoMixStreamConfig {
/**
* 混流任务 id(客户自定义,务必保证唯一),必填,最大为256个字符,仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '
*/
taskID: string;
/**
* 混流输入流列表
*/
inputList: ZegoMixStreamInput[];
/**
* 混流输出流列表
*/
outputList: ZegoMixStreamOutput[];
/**
* 混流输出配置
*/
outputConfig: ZegoMixStreamOutputConfig;
}
export declare enum ZegoMixStreamRenderMode {
/**
* 填充模式,等比填充布局,画面可能有部分被裁剪。
*/
AspectFill = 0,
/**
* 适应模式,等比缩放画面,布局内可能有留白。
*/
AspectFit = 1
}
/**
* 混流中单条输入流的图片信息
*
* Note: 支持版本:2.24.0 及以上。
*
* Note: 详情描述:为单条输入流的内容设置图片,用于替代视频,即当使用图片时不显示视频。图片复用的 [ZegoMixerInput] 中的 layout 布局。
*
* Note: 业务场景:开发者在视频连麦过程中,需要暂时关闭摄像头显示图像,或音频连麦时,显示图片等。
*
* Note: 使用限制:图片大小限制在 1M 以内。
*
*/
export interface ZegoMixerImageInfo {
/**
* 详情描述:图片路径,不为空显示图片,否则显示视频。支持 JPG 和 PNG 格式。支持 2 种使用方式:1. URI:将图片提供给 ZEGO 技术支持进行配置,配置完成后会提供图片 URI,例如:preset-id://xxx.jpg。2. URL:仅支持 HTTP 协议。
*/
url: string;
}
/**
* 字体类型。
*
*/
export declare enum ZegoFontType {
/**
* 思源黑体。
*/
ZegoFontTypeSourceHanSans = 0,
/**
* 阿里巴巴普惠体。
*/
ZegoFontTypeAlibabaSans = 1,
/**
* 旁门正道标题体。
*/
ZegoFontTypePangMenZhengDaoTitle = 2,
/**
* 站酷快乐体。
*/
ZegoFontTypeHappyZcool = 3
}
/**
* 字体风格。
*
* 详情描述: 字体风格配置,可用于配置字体类型、字体大小、字体颜色、字体透明度。
*
* 业务场景: 手动混流场景时,设置文字水印,比如多人连麦直播。
*
*/
export interface ZegoFontStyle {
/**
* 是否必填: 否。
*
* 默认值: 思源黑体 [ZegoFontTypeSourceHanSans]。
*/
type?: ZegoFontType;
/**
* 是否必填: 否。
*
* 默认值: 24。
*
* 取值范围: [12,100] 的整数。
*/
size?: number;
/**
* 是否必填: 否。
*
* 默认值: 16777215(白色)。
*
* 取值范围: [0,16777215] 的整数。
*/
color?: number;
/**
* 是否必填: 否。
*
* 默认值: 0。
*
* 取值范围: [0,100],100 为完全不透明,0 为完全透明。
*/
transparency?: number;
/**
* 是否必填: 否。
* 默认值: 否。
* 取值范围: 是/否。
*/
border?: boolean;
/**
* 是否必填: 否。
* 默认值: 0。
* 取值范围: [0,16777215]。
*/
borderColor?: number;
}
/**
* 文本信息。
*
* 详情描述: 文本信息配置,可用于配置文本内容、文本位置、文本风格。
*
* 业务场景: 手动混流场景时,设置文字水印,比如多人连麦直播。
*
*/
export interface ZegoLabelInfo {
/**
* 是否必填: 是。
*
* 取值范围: 最大支持显示100个中文字符,300 个英文字符。
*/
text: string;
/**
* 是否必填: 否。
*
* 默认值: 0。
*/
left?: number;
/**
* 是否必填: 否。
*
* 默认值: 0。
*/
top?: number;
/**
* 是否必填: 否。
*/
font?: ZegoFontStyle;
}
export interface ZegoMixStreamInput {
/**
* 输入流 ID
*/
streamID: string;
/**
* 混流内容类型;contentType 取值为'VIDEO'(音视频)、'AUDIO'(纯音频),默认为'VIDEO'
*/
contentType?: "VIDEO" | "AUDIO" | "VIDEO_ONLY";
/**
* 流在输出画布上的布局,当 contentType 为 “AUDIO” 时 layout 参数可不传。
*/
layout?: ZegoMixStreamLayout;
/**
* 渲染模式,0 为填充模式,1 为适应模式。
*/
renderMode?: ZegoMixStreamRenderMode;
/**
* 详情描述:用户图片信息。
*/
imageInfo?: ZegoMixerImageInfo;
/**
* 详情描述:文字水印
*/
label?: ZegoLabelInfo;
/**
* 详情描述: 视频画面圆角半径,单位 px。
*
* 是否必填: 否。
*
* 取值范围: 不超过 [layout] 参数设置的视频画面的宽高。
*
* 默认值: 0。
*/
cornerRadius?: number;
/**
* 混流音浪 ID,用于在 [mixerSoundLevelUpdate] 中找对应输入流的音浪值。
*/
soundLevelID?: number;
/**
* 输入流音量, 有效范围 [0, 200], 默认是 100。
*/
volume?: number;
/**
* 当前输入流是否开启焦点语音,开启了会突出此路流的声音。
*/
isAudioFocus?: boolean;
}
export interface ZegoMixStreamLayout {
/**
* 目标位置,上
*/
top: number;
/**
* 目标位置,左
*/
left: number;
/**
* 目标位置,下
*/
bottom: number;
/**
* 目标位置,右
*/
right: number;
}
export interface ZegoMixStreamOutput {
/**
* 混流输出流 ID 或 URL
*/
target: string;
/**
* 混流输出视频设置。
*/
videoConfig?: ZegoMixerOutputVideoConfig;
}
export interface ZegoMixStreamOutputConfig {
/**
* 混流输出视频码率,kbps
* 数值 (必须,且大于 0)
*/
outputBitrate: number;
/**
* 混流输出视频帧率
*/
outputFPS: number;
/**
* 混流输出视频分辨率宽度
*/
outputWidth: number;
/**
* 混流输出视频分辨率高度
*/
outputHeight: number;
/**
* 混流输出音频编码
* outputAudioCodecID 可选0:HE-AAC,1: LC-AAC,2:MP3,3: OPULS 默认为0
* 注意:如果使用 CDN 录制,音频编码请选择 LC-AAC。这是因为部分浏览器(如 Google Chrome 和 Microsoft Edge)不兼容 HE-AAC 音频编码格式,从而导致录制文件无法播放
*/
outputAudioCodecID?: 0 | 1 | 2 | 3;
/**
* 混流输出音频码率,kbps
*/
outputAudioBitrate?: number;
/**
* 混流输出声道数
*/
outputAudioChannels?: 1 | 2;
/**
* 多路音频流混音模式。若 [ZegoAudioMixMode] 选择为 [Focused],SDK 将会选择 4 路已设置 [isAudioFocus] 的输入流作为焦点语音突出,若未选择或选择少于 4 路,则会自动补齐 4 路。
*/
audioMixMode?: ZegoAudioMixMode;
}
/**
* https://doc-zh.zego.im/article/api?doc=express-video-sdk_API~java_android~enum~ZegoAudioCodecID
*/
export declare enum ZegoAudioCodecID {
ZegoAudioCodecIDNormal = 1,
ZegoAudioCodecIDNormal2 = 2,
ZegoAudioCodecIDLow3 = 6
}
export declare enum ZegoAudioMixMode {
/**
* 默认模式,无特殊行为
*/
ZegoAudioMixModeRaw = 0,
/**
* 音频聚焦模式,可在多路音频流中突出某路流的声音
*/
ZegoAudioMixModeFocused = 1
}
/**
* 详情描述: 配置混流任务的音频码率、声道数、音频编码
*/
export interface ZegoMixerAudioConfig {
/**
* 音频码率,单位为 kbps,默认为 48 kbps,开始混流任务后不能修改
*/
bitrate?: number;
/**
* 音频声道,默认为 Mono 单声道
*/
channel?: 1 | 2;
codecID?: ZegoAudioCodecID;
}
/**
* 详情描述: 调用 [StartAutoMixerTask] 函数向 ZEGO RTC 服务器发起自动混流任务时,需要通过该参数配置自动混流任务,包括任务 ID、房间 ID、音频配置、输出流列表、是否开启声浪回调通知。
* 业务场景: 当向 ZEGO RTC 服务器发起自动混流任务时,需要这个配置。
* 注意事项: 作为调用 [StartAutoMixerTask] 函数时传入的参数。
*/
export interface ZegoAutoMixerTask {
/**
* 混流任务 id(客户自定义,务必保证唯一),必填,最大为256个字符,仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '
*/
taskID: string;
/**
* 自动混流任务的房间 ID。必填,仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。如果需要与 Web SDK 互通,请不要使用 '%'。
*/
roomID: string;
/**
* 自动混流任务的音频配置,可配置音频码率、音频声道,编码 ID、多路音频流混音模式。
* 如果对自动混流任务的音频有特殊需求,比如需要调整音频码率,可根据需要调整该参数,否则不用配置。
* 默认音频码率为 "48 kbps", 默认音频声道为 "ZEGO_AUDIO_CHANNEL_MONO", 默认编码 ID 为 "ZEGO_AUDIO_CODEC_ID_DEFAULT",默认多路音频流混音模式为 "ZEGO_AUDIO_MIX_MODE_RAW"。
*/
audioConfig?: ZegoMixerAudioConfig;
/**
* 自动混流任务的输出流列表,列表中为 URL 或者流 ID,若为 URL 格式 目前只支持 RTMP URL 格式:rtmp://xxxxxxxx。
* 当发起自动混流任务时,需要配置该参数指明混流输出目标。Mix stream output target
* 必填
*/
outputList: ZegoMixStreamOutput[];
/**
* 是否开启自动混流的声浪回调通知,开启后拉混流时可通过 [onAutoMixerSoundLevelUpdate] 回调收到每条单流的声浪信息。
* 当发起自动混流任务时,如果需要回调流的声浪信息,需要配置该参数。
* 可选。
*/
enableSoundLevel?: boolean;
/**
* 流对齐模式,0 为关闭,1为开启。需先调用 [setStreamAlignmentProperty] 函数开启指定通道的推流网络时间校准的流对齐。
*/
streamAlignmentMode?: number;
/**
* 设置混流服务器拉流缓存自适应调整的区间范围下限。在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。通过调节混流服务器拉流缓存自适应调整的区间范围下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。默认不设置,即服务端使用自身配置值。只会对新的输入流设置生效,对于已经开始混流的输入流不生效。
* [0,10000],超过最大值混流会失败。
*/
minPlayStreamBufferLength?: number;
}
export declare enum ZegoEncodeProfile {
ZegoEncodeProfileDefault = 0,
ZegoEncodeProfileBaseline = 1,
ZegoEncodeProfileMain = 2,
ZegoEncodeProfileHigh = 3
}
export interface ZegoMixerOutputVideoConfig {
videoCodecID?: string;
bitrate?: number;
encodeProfile?: ZegoEncodeProfile;
encodeLatency?: number;
enableLowBitrateHD?: boolean;
}
export interface ZegoPlayAudioStats {
/**
* 音频码率
*/
audioBitrate: number;
/**
* 音频编码格式"opus"
*/
audioCodec: string;
/**
* 网络抖动
*/
audioJitter: number;
/**
* 音量
*/
audioLevel: number;
/**
* 丢包数
*/
audioPacketsLost: number;
/**
* 丢包率
*/
audioPacketsLostRate: number;
/**
* 拉流音频质量
*/
audioQuality: number;
/**
* 采样率
*/
audioSamplingRate: number;
/**
* 音轨是否被关闭
*/
muteState: "0" | "1";
/**
* 音频帧率
*/
audioFPS: number;
}
/**
* 拉流质量回调详细信息
*
*/
export interface ZegoPlayStats {
/**
* 视频相关描述
*/
video: ZegoPlayVideoStats;
/**
* 音频相关描述
*/
audio: ZegoPlayAudioStats;
}
export interface ZegoPlayVideoStats {
/**
* 接收视频高
*/
frameHeight: number;
/**
* 接收视频宽
*/
frameWidth: number;
/**
* 视频编码格式
*/
googCodecName: string;
/**
* 视轨是否被关闭
*/
muteState: "0" | "1";
/**
* 视频码率
*/
videoBitrate: number;
/**
* 视频转码帧率
*/
videoFPS: number;
/**
* 视频丢包数
*/
videoPacketsLost: number;
/**
* 视频丢包率
*/
videoPacketsLostRate: number;
/**
* 视频解码帧率
*/
videoTransferFPS: number;
/**
* 拉流视频质量
*/
videoQuality: number;
/**
* 视频解码总大小
*/
videoFramesDecoded: number;
}
/**
* 拉流状态
*
*/
export interface ZegoPlayerState {
/**
* 流id
*/
streamID: string;
/**
* NO_PLAY:未拉流状态,PLAY_REQUESTING:正在请求拉流状态,PLAYING:正在拉流状态
*/
state: "NO_PLAY" | "PLAY_REQUESTING" | "PLAYING";
/**
* 错误码
*/
errorCode: number;
/**
* 扩展信息
*/
extendedData: string;
}
export interface ZegoPublishAudioStats {
/**
* 音频码率
*/
audioBitrate: number;
/**
* 音频编码格式
*/
audioCodec: string;
/**
* 音频丢包数
*/
audioPacketsLost: number;
/**
* 音频丢包率
*/
audioPacketsLostRate: number;
/**
* 音频编码格式
*/
googCodecName: string;
/**
* 音轨是否被关闭
*/
muteState: "0" | "1";
/**
* 音频帧率
*/
audioFPS: number;
/**
* 推流音频质量
*/
audioQuality: number;
}
export interface ZegoPublishStats {
/**
* 推流视频数据
*/
video: ZegoPublishVideoStats;
/**
* 推流音频数据
*/
audio: ZegoPublishAudioStats;
}
export interface ZegoPublishStreamAudioConfig {
/**
* 是否开启降噪
*/
ANS?: boolean;
/**
* 是否开启自动增益
*/
AGC?: boolean;
/**
* 是否开启回声消除
*/
AEC?: boolean;
}
export interface ZegoPublishVideoStats {
/**
* 采集视频高
*/
frameHeight: number;
/**
* 采集视频宽
*/
frameWidth: number;
/**
* 视频编码格式
*/
googCodecName: string;
/**
* 视轨是否被关闭
*/
muteState: "0" | "1";
/**
* 视频码率
*/
videoBitrate: number;
/**
* 视频转码帧率
*/
videoFPS: number;
/**
* 视频丢包数
*/
videoPacketsLost: number;
/**
* 视频丢包率
*/
videoPacketsLostRate: number;
/**
* 视频编码帧率
*/
videoTransferFPS: number;
/**
* 推流视频质量
*/
videoQuality: number;
}
/**
* 推流状态
*
*/
export interface ZegoPublisherState {
/**
* 流ID
*/
streamID: string;
/**
* NO_PUBLISH:未推流状态,PUBLISH_REQUESTING:正在请求推流状态,PUBLISHING:正在推流状态
*/
state: "PUBLISHING" | "NO_PUBLISH" | "PUBLISH_REQUESTING";
/**
* 错误码
*/
errorCode: number;
/**
* 扩展信息
*/
extendedData: string;
}
export interface ZegoServerResponse {
/**
* 返回错误码,为0则是成功
*/
errorCode: number;
/**
* 扩展信息
*/
extendedData?: string;
}
/**
* 音浪信息
*
*/
export interface ZegoSoundLevelInfo {
/**
* 流ID
*/
streamID: string;
/**
* 音浪大小
*/
soundLevel: number;
/**
* 用于区分推拉流
*/
type: string;
}
export interface ZegoStreamList {
/**
* 流 ID
*/
streamID: string;
/**
* 流对应的用户
*/
user: ZegoUser;
/**
* 流附加信息
*/
extraInfo: string;
/**
* flv 播放地址
*/
urlsFLV: string;
/**
* rtmp 播放地址
*/
urlsRTMP: string;
/**
* hls 播放地址
*/
urlsHLS: string;
/**
* https 协议的 flv 播放地址
*/
urlsHttpsFLV: string;
/**
* https 协议的 hls 播放地址
*/
urlsHttpsHLS: string;
}
export interface ZegoVideoCodec {
/**
* 是否支持H264编解码能力
*/
H264: boolean;
/**
* 是否支持VP8编解码能力
*/
VP8: boolean;
}
export interface ZegoWebPlayOption {
/**
* 是否需要拉取视频,默认为 true;
* 通常情况下建议不填,SDK 默认会根据拉到的实际设备状态选择是否拉音视频
*/
video?: boolean;
/**
* 是否需要拉取音频,默认为 true;
* 通常情况下建议不填,SDK 默认会根据拉到的实际设备状态选择是否拉音视频
*/
audio?: boolean;
/**
* 拉流额外参数;鉴权参数 streamParams 格式如下:'zg_expired=XX&zg_nonce=XX&zg_token=XX',只有需要配置鉴权时才传入,否则请忽略
*/
streamParams?: string;
}
export interface ZegoWebPublishOption {
/**
* 推流备选参数 ; 备选参数 streamParams 格式如下:'zg_expired=XX&zg_nonce=XX&zg_token=XX',只有需要配置鉴权才传入(可选功能)
*/
streamParams?: string;
/**
* 流附加信息
*/
extraInfo?: string;
/**
* 推流视频编码,只能传入 'VP8' (string) 或 'H264' (string),默认值为 'H264' 。
*/
videoCodec?: "VP8" | "H264";
/**
* 房间ID,开启多房间功能后必填,选择在哪个房间推流。
*/
roomID?: string;
}
export interface ZegoWxPlayOption {
/**
* 拉流选项
*/
streamParams?: string;
/**
* 是否拉混流
*/
isMix?: boolean;
/**
* 拉流格式
*/
sourceType?: "CDN" | "BGP";
}
export interface ZegoWxPublishOption {
/**
* 推流格式
*/
sourceType?: "CDN" | "BGP";
/**
* 推流选项
*/
streamParams?: string;
/**
* 额外信息
*/
extraInfo?: string;
/**
* 房间ID,开启多房间功能后必填,选择在哪个房间推流。
*/
roomID?: string;
/**
* 是否允许对该流进行审核,默认为允许, 0:允许, 1:不允许。
*/
inspectFlag?: ZegoInspectFlagType;
}
export declare enum ZegoInspectFlagType {
allow = 0,
notAllow = 1
}
/**
* 拉流质量回调,拉流成功后开始触发
*
* Note: 详情描述:订阅拉流质量回调
*
* Note: 触发条件:拉流成功后
*
* Note: 限制频率:无
*
* Note: 关注回调:无
*
* Note: 重点提示:每 3 秒回调一次
*
* Note: 支持版本:1.0.0
*
* Note: 废弃时间:无
*
* @param streamID 流 ID
* @param stats 拉流质量回调信息
*/
type PlayQualityUpdateCallBack = (streamID: string, stats: ZegoPlayStats) => void;
/**
* 拉流状态发生变化时回调
*
* Note: 详情描述:拉流的状态通知,拉流是异步过程,中间的状态切换都通过该接口回调。监听该回调,对重试依旧不能成功的情况,做错误日志收集,提示客户
*
* Note: 触发条件:开始拉流后
*
* Note: 限制频率:无
*
* Note: 关注回调:无
*
* Note: 重点提示:必须在拉流前监听
*
* Note: 支持版本:1.0.0
*
* Note: 废弃时间:无
*
* @param result 拉流状态结果
*/
type PlayerStateUpdateCallBack = (result: ZegoPlayerState) => void;
/**
* 详情描述: 包括转推 CDN 的 URL、转推状态等
*/
export interface ZegoStreamRelayCDNInfo {
url: string;
state: "NO_RELAY" | "RELAY_REQUESTING" | "RELAYING";
updateReason: string;
stateTime: number;
}
/**
* 混流转推 CDN 状态更新通知。
* 在 ZEGO RTC 服务器的混流任务的一般情况会以 RTMP 协议将输出流向 CDN 推送,推送过程中出现的状态的变化会从该回调函数通知出来。
* @param taskID 混流任务 ID。取值范围:长度不超过256。注意事项:该参数为字符串格式,不可以包含 URL 关键字,例如 'http', '?' 等,否则推拉流失败。仅支持数字,英文字符 和 '~', '!', '@', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '-', '`', ';', '’', ',', '.', '<', '>', '\'。
* @param infoList 当前 CDN 正在混流的信息列表。
*/
type MixerRelayCDNStateUpdateCallBack = (taskID: string, infoList: Array<ZegoStreamRelayCDNInfo>) => void;
/**
* 订阅推流质量回调
*
* Note: 详情描述:订阅推流质量回调
*
* Note: 触发条件:推流成功后
*
* Note: 限制频率:无
*
* Note: 关注回调:无
*
* Note: 重点提示:每 3 秒回调一次
*
* Note: 支持版本:1.0.0
*
* Note: 废弃时间:无
*
* @param streamID 推流流ID
* @param stats 推流质量描述
*/
type PublishQualityUpdateCallBack = (streamID: string, stats: ZegoPublishStats) => void;
/**
* 推流状态回调
*
* Note: 详情描述:推流的状态通知,推流是异步过程,中间的状态切换都通过该接口回调。监听该回调,对重试依旧不能成功的情况,做错误日志收集,提示客户
*
* Note: 触发条件:开始推流后
*
* Note: 限制频率:无
*
* Note: 关注回调:无
*
* Note: 重点提示:必须在推流前监听
*
* Note: 支持版本:1.0.0
*
* Note: 废弃时间:无
*
* @param result 推流状态结果
*/
type PublisherStateUpdateCallBack = (result: ZegoPublisherState) => void;
/**
* 监听已登录房间内流的变化(增加,删除)
*
* Note: 详情描述:监听已登录房间内流的变化(增加,删除)
*
* Note: 触发条件:房间内有流新增或删除
*
* Note: 限制频率:无
*
* Note: 重点提示:需要在登录房间前调用
*
* Note: 支持版本:1.0.0
*
* Note: 废弃时间:无
*
* @param roomID 房间ID
* @param updateType DELETE:流删除,ADD:流新增
* @param streamList 更新流列表
* @param extendedData 扩展信息
*/
type RoomStreamUpdateCallBack = (roomID: string, updateType: "DELETE" | "ADD", streamList: ZegoStreamList[], extendedData: string) => void;
/**
* 流附加消息变化时回调
*
* Note: 详情描述:接收对端设置的流附加信息
*
* Note: 触发条件:流附加消息更新
*
* Note: 支持版本:1.0.0
*
* Note: 废弃时间:无
*
* @param roomID 房间ID
* @param streamList 流信息
*/
type StreamExtraInfoUpdateCallBack = (roomID: string, streamList: {
streamID: string;
user: ZegoUser;
extraInfo: string;
}[]) => void;
export interface ZegoEvent extends ZegoWechatMiniEvent, ZegoRTMEvent {
}
export {};