UNPKG

zego-express-engine-webrtc

Version:

zego webrtc express sdk

148 lines (147 loc) 6.17 kB
import { ZegoDataChannelEvent } from './ZegoExpressEntity.web'; /** * 实时有序数据对象 * * 实时有序数据,依托于 ZEGO RTC 服务,可为开发者提供 实时、有序、高频 的数据传输与分发功能 * */ export declare class ZegoRealTimeSequentialDataManager { private _roomID; private _zgp_dataChannelListener; constructor(zegoWebRTC: any, _roomID: string); reset(): void; get roomID(): string; /** * 开始广播 * * Note: 支持版本:2.12.2 及以上 * * Note: 详情描述: 开始广播名为 streamID 的实时有序数据通道。 * * Note: 业务场景:远程控制场景中由控制端发送指令到受控端。 * * Note: 注意事项: 可复用 RTC 推流通道。 * * Note: 调用时机:调用接口 createRealTimeSequentialDataManager 创建 ZegoRealTimeSequentialDataManager实例后。 * * @param streamID 推流 ID,长度不超过256的字符串,仅支持数字,英文字符 和 '~', '!', '@', '#', '$', '', '^', '&', '*', '(', ')', '_', '+', '=', '-', ', ';', '’', ',', '.', '<', '>', '/', '' * * @return true 表示客户端发送请求成功,流成功推送到服务器需要通过流状态回调接口判断。 */ startBroadcasting(streamID: string): Promise<boolean>; /** * 停止广播 * * Note: 支持版本:2.12.2 及以上 * * Note: 详情描述:停止广播 名为 streamID 的实时有序数据通道。 * * Note: 业务场景:远程控制场景控制端停止传输指令到受控端。 * * Note: 注意事项: 在复用 RTC 通道的情况下,停止实时有序数据的广播不会影响 RTC 通道。 * * Note: 调用时机:调用接口 createRealTimeSequentialDataManager 创建 ZegoRealTimeSequentialDataManager实例后。 * * @param streamID 推流 ID,和广播 streamID保持一致 * * @return 布尔值 */ stopBroadcasting(streamID: string): boolean; /** * 发送实时有序数据 * * Note: 支持版本:2.12.2 及以上 * * Note: 详情描述:发送 实时有序数据。 * * Note: 业务场景:远程控制场景中由控制端发送指令到受控端。 * * Note: 注意事项: 在弱网下数据可能存在丢失。 * * Note: 调用时机:调用接口 createRealTimeSequentialDataManager 创建 ZegoRealTimeSequentialDataManager实例后,并调用 startBroadcasting 进行广播后。 * * @param streamID 流 ID * @param data 数据 * * @return 布尔值 */ sendRealTimeSequentialData(streamID: string, data: ArrayBuffer): boolean; /** * 开始订阅 * * Note: 支持版本:2.12.2 及以上 * * Note: 详情描述:开始订阅通道为 streamID 的实时有序数据频道。 * * Note: 业务场景:远程控制场景中,受控端从控制端接收指令。 * * Note: 注意事项: 可复用 RTC 推流通道。 * * Note: 调用时机:调用接口 createRealTimeSequentialDataManager 创建 ZegoRealTimeSequentialDataManager实例后。 * * @param streamID 流 ID * * @return 布尔值 */ startSubscribing(streamID: string): Promise<boolean>; /** * 停止订阅 * * Note: 支持版本:2.12.2 及以上 * * Note: 详情描述:停止订阅名为 streamID 的实时有序数据频道。 * * Note: 业务场景:远程控制场景中,受控端停止从控制端接收指令。 * * Note: 注意事项: 在复用 RTC 通道的情况下,停止实时有序数据的广播不会影响 RTC 通道。 * * Note: 调用时机:调用接口 createRealTimeSequentialDataManager 创建 ZegoRealTimeSequentialDataManager实例后。 * * @param streamID 流 ID * * @return 布尔值 */ stopSubscribing(streamID: string): boolean; /** * 注册回调事件。 * * Note: 支持版本:2.12.2 及以上 * * Note: 详情描述:用于处理 SDK 主动通知开发者回调的接口,通过注册不同 event 的事件,可以收到不同功能的回调。可监听的事件回调可以通过 ZegoDataChannelEvent查看。 * * Note: 业务场景:用于注册实时有序数据功能相关的业务事件的回调处理。 * * Note: 调用时机:调用接口 createRealTimeSequentialDataManager 创建实例之后。 * * Note: 注意事项:同样的事件可以注册多个, 相同的注册事件,会根据注册的先后顺序依次触发。 * * Note: 相关接口:调用接口 off 来注销对应回调事件处理。 * * @param event 监听事件名。 * @param callBack 回调函数。 * * @return 注册是否成功。 */ on<K extends keyof ZegoDataChannelEvent>(event: K, callBack: ZegoDataChannelEvent[K]): void; /** * 注销回调事件。 * * Note: 支持版本:2.12.2 及以上 * * Note: 详情描述:用于处理 SDK 主动通知开发者回调的接口,通过注册不同 event 的事件,可以收到不同功能的回调。可监听的事件回调可以通过 ZegoDataChannelEvent查看。 * * Note: 业务场景:用于注销实时有序数据功能相关的业务事件的回调处理。 * * Note: 调用时机:调用接口 createRealTimeSequentialDataManager 创建实例之后。 * * Note: 注意事项:同样的事件可以注册多个, 相同的注册事件,会根据注册的先后顺序依次触发。 * * Note: 相关接口:调用接口 off 来注销对应回调事件处理。 * * @param event 监听事件名。 * @param callBack 回调函数。 * * @return 注册是否成功。 */ off<K extends keyof ZegoDataChannelEvent>(event: K, callBack: ZegoDataChannelEvent[K]): void; }