BarrageStore
简介
BarrageStore 提供了一套完整的弹幕管理 API,包括发送文本弹幕、发送自定义弹幕和添加本地提示消息。
通过该类,可以在直播间内实现弹幕互动功能。
重要:
使用 create 工厂方法创建 BarrageStore 实例,需要传入有效的直播间 ID。
说明:
弹幕状态更新通过 barrageState 发布者传递。订阅它以接收房间内弹幕数据的实时更新。
功能特性
文本弹幕:支持发送纯文本弹幕消息。
自定义弹幕:支持发送自定义格式的弹幕(如带特效的弹幕)。
本地提示:支持添加仅本地可见的提示消息。
可订阅数据
BarrageState 的字段描述如下:
属性名 | 类型 | 描述 |
messageList | 当前房间的弹幕消息列表,支持实时更新并可被订阅监听。 |
API 列表
函数名 | 描述 |
创建弹幕管理实例。 | |
发送文本弹幕。 | |
发送自定义弹幕。 | |
添加本地提示消息。 |
创建实例
create
弹幕管理核心类,用于处理直播间/语音聊天房内的弹幕相关业务逻辑。
static BarrageStore create(String liveID) {return StoreFactory.shared.getStore<BarrageStore>(liveID: liveID);}
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
liveID | String | 必填 | 直播间ID。 |
发送弹幕
sendTextMessage
发送文本类型弹幕。
Future<CompletionHandler> sendTextMessage({required String text,Map<String, String>? extensionInfo,});
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
text | String | 必填 | 文本弹幕内容。 |
extensionInfo | Map<String, String>? | 必填 | 扩展信息,可包含自定义字段(如指定弹幕颜色、字体大小等)。 |
sendCustomMessage
发送自定义类型弹幕。
Future<CompletionHandler> sendCustomMessage({required String businessID,required String data,});
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
businessID | String | 必填 | 业务标识ID,用于区分不同业务场景的自定义弹幕。 |
data | String | 必填 | 自定义数据内容,通常为JSON格式字符串,用于传递业务自定义的数据。 |
本地消息
appendLocalTip
添加本地提示消息(在本地添加提示或操作反馈消息,仅当前客户端可见)。
void appendLocalTip(Barrage message);
版本信息
从 3.5 版本开始支持。
注意事项
说明:
该消息仅在本地显示,不会通过网络发送给其他用户。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
message | 必填 | 本地弹幕消息(如系统提示、操作反馈等,仅当前用户可见)。 |
数据结构
BarrageType
弹幕类型枚举,用于区分不同的弹幕消息种类。
枚举值 | 值 | 说明 |
text | 0 | 文本类型弹幕,包含纯文字内容。 |
custom | 1 | 自定义类型弹幕,支持业务自定义数据格式(如带特效的弹幕、互动消息等)。 |
Barrage
弹幕数据模型,包含单条弹幕的完整属性信息。
属性 | 类型 | 说明 |
liveID | String | 弹幕所属直播间/语音聊天房的唯一标识ID。 |
sender | 弹幕发送者的用户信息(如用户ID、昵称、头像等)。 | |
sequence | int | 弹幕消息的唯一序列ID,用于消息排序和去重。 |
timestampInSecond | int | 弹幕发送时间戳(单位:秒),用于展示发送时间顺序。 |
messageType | 弹幕消息类型(文本或自定义)。 | |
textContent | String | 文本类型弹幕的消息内容,即弹幕的文本内容。 |
extensionInfo | Map<String, String> | 弹幕扩展信息,可自定义字段(如显示样式、优先级等)。当 messageType 为 TEXT 时有效。 |
businessID | String | 自定义类型弹幕的业务标识ID,用于区分不同业务场景的自定义弹幕。 |
data | String | 自定义类型弹幕的具体数据内容(通常为JSON格式字符串),当 messageType 为 CUSTOM 时有效。 |
BarrageState
弹幕状态,管理当前房间的弹幕数据状态。
属性 | 类型 | 说明 |
messageList | 当前房间的弹幕消息列表,支持实时更新并可被订阅监听。 |