聊天重放
一、功能概述
聊天室模块(chat)
提供聊天重放功能 Api,用于开发者集成聊天重放功能。
二、使用方式 - 方法
2.1 设置聊天消息重放对应的回放对象
外部需要传入一个回放对象,聊天重放才能获取到回放对象对应的聊天记录
Api 方法: setChatMsgReplayPlaybackTarget(playbackTarget?: PlaybackTarget): void
参数说明:
playbackTarget:undefined,
PlaybackTarget
类型,选传
示例:
2.2 初始化聊天消息重放
Api 方法: initChatMsgReplay(): Promise<void>
示例:
2.3 添加聊天重放本地缓存插件
为了能够减少对聊天室接口的请求,聊天室模块在实现回放功能时,支持通过添加缓存插件,后续读取聊天重放记录时,优先从缓存中读取。
注意插件只会添加一次,添加完成后再添加不会生效,建议在 initChatMsgReplay
方法调用之前添加插件
Api 方法: addChatMsgReplayCachePlugin(localCache: ChatMsgReplayCachePluginType): void
参数说明:
localCache:undefined,
ChatMsgReplayCachePluginType
类型,必传,详细类型说明如下
参数名 | 说明 | 类型 | 必须 | 默认值 |
---|---|---|---|---|
| - |
| 是 | - |
| - |
| 是 | - |
| - |
| 是 | - |
| - |
| 是 | - |
示例:
2.4 获取聊天消息重放历史数据
通过 getChatMsgReplayHistoryList
来获取聊天消息重放的历史数据
Api 方法: getChatMsgReplayHistoryList(options: Object): Promise<ChatReplayMsgType[]>
参数说明:
options:undefined,
Object
类型,必传,详细类型说明如下
参数名 | 说明 | 类型 | 必须 | 默认值 |
---|---|---|---|---|
| 聊天重放请求历史数据模式 |
| 是 | - |
| 根据指定的模式传入对应的重放消息,比如需要加载旧数据,则传入当前聊天数据中的第一条消息 |
| 否 | - |
| 聊天数量,限制最大为 60 |
| 是 | - |
返回值说明: 聊天消息重放历史数据,Promise<ChatReplayMsgType[]>
类型
示例:
2.5 处理聊天消息重放
外部使用时,需要结合观看页 SDK 的 PlayerEvents.TimeUpdate 事件回调来一起使用,使用过程中,可以通过 ChatEvents.ChatMessage` 事件来获取重放的消息 由于回放时可以通过播放器进度条快速跳转,此时可以通过 ChatEvents.ChatMsgReplayReload 事件来监听是否需要重新加载聊天室数据
Api 方法: processChatMsgReplay(params: Object): void
参数说明:
params:undefined,
Object
类型,必传,详细类型说明如下
参数名 | 说明 | 类型 | 必须 | 默认值 |
---|---|---|---|---|
| 当前播放时间,单位:秒 |
| 是 | - |
| 播放总时长,单位:秒 |
| 是 | - |
示例:
三、使用方式 - 事件
3.1 聊天消息重放状态
Event 事件: ChatEvents.ChatMsgReplayStatusChange
回调参数: Object
对象,详细类型说明如下
属性名 | 说明 | 类型 |
---|---|---|
| 重放状态 |
|
示例:
3.2 聊天消息重放-重新加载
说明: 通知外部重新加载聊天重放的数据
Event 事件: ChatEvents.ChatMsgReplayReload
示例:
3.3 聊天消息事件
说明: 当收到聊天消息后触发该事件
Event 事件: ChatEvents.ChatMessage
回调参数: Object
对象,详细类型说明如下
属性名 | 说明 | 类型 |
---|---|---|
| 聊天消息对象 |
|
示例:
Last updated