互动直播API
互动直播API
属性 | 属性描述 |
---|---|
InterActive | 互动关键方法 |
VHRenderView | 互动显示view |
Stream | 互动流 |
RoomCallback | 互动房间回调 |
MessageServer#Callback | 房间消息回调 |
ChatServer#Callback | 聊天消息回调 |
关键方法
主持人获取房间信息
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
id | 是 | 234700561 | 活动id 在网页上创建 |
nickName | 否 | " name" | 昵称 |
否 | 123456 | 邮箱 | |
LoadWebinarInfoCallback#WebinarInfo | 活动详情 |
嘉宾登录
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
webinarId | 是 | 234700561 | 活动id 在网页上创建 |
password | 是 | 123456 | 口令 |
nickName | 是 | " name" | 昵称 |
avatar | 否 | 头像 | 头像 |
type | 是 | 2 | 类型 角色 (2-嘉宾) |
LoadWebinarInfoCallback#WebinarInfo | 活动详情 |
初始化互动
只有正在直播的活动才可以进入成功
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
Context | 是 | context | 上下问对象 |
RoomCallback | 是 | 互动房间回调 | |
ChatServer.Callback | 否 | 聊天监听 | |
MessageServer.Callback | 否 | 消息监听 |
初始化直播间信息
只有正在直播的活动才可以进入成功
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
WebinarInfo | 是 | 活动详情 | |
round | 否 | 当前是互动还是轮巡 |
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
id | 是 | 234700561 | 活动id 在网页上创建 |
否 | 123456 | 邮箱 | |
nickName | 否 | " name" | 昵称 |
password | 否 | 123 | 密码/k值 |
k_id | 否 | 123 | k_id值 |
互动混流
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
type | 是 | 1 | 1-发直播 2 结束直播 |
layoutType | 否 | VHInteractive.CANVAS_LAYOUT_PATTERN_GRID_1 | 当前布局 |
rehearsal | 否 | false | 当前活动是不是彩排 默认直播 |
layoutType
可配置旁路画面布局 | 说明 |
---|---|
CANVAS_LAYOUT_PATTERN_GRID_1 | 一人铺满 |
CANVAS_LAYOUT_PATTERN_GRID_2_H | 左右两格 |
CANVAS_LAYOUT_PATTERN_GRID_3_E | 正品字 |
CANVAS_LAYOUT_PATTERN_GRID_3_D | 倒品字 |
CANVAS_LAYOUT_PATTERN_GRID_4_M | 2行x2列 |
CANVAS_LAYOUT_PATTERN_GRID_5_D | 2行,上2下3 |
CANVAS_LAYOUT_PATTERN_GRID_6_E | 2行x3列 |
CANVAS_LAYOUT_PATTERN_GRID_9_E | 3行x3列 |
CANVAS_LAYOUT_PATTERN_FLOAT_2_1DR | 主次悬浮,大屏铺满,小屏悬浮右下角 (小窗宽=画布宽度/5,比例 |
CANVAS_LAYOUT_PATTERN_FLOAT_2_1DL | 主次悬浮,大屏铺满,小屏悬浮左下角 (小窗宽=画布宽度/5,比例 |
CANVAS_LAYOUT_PATTERN_FLOAT_3_2DL | 大屏铺满,2小屏悬浮右上角 (小窗宽=画布宽度/6,比例为4:3) |
CANVAS_LAYOUT_PATTERN_FLOAT_6_5D | 主次悬浮,大屏铺满,一行5个悬浮于下面(小窗宽=画布宽度/5,比例为4:3) |
CANVAS_LAYOUT_PATTERN_FLOAT_6_5T | 主次悬浮,大屏铺满,一行5个悬浮于上面(小窗宽=画布宽度/5,比例为4:3) |
CANVAS_LAYOUT_PATTERN_TILED_5_1T4D | 主次平铺,一行4个位于底部 |
CANVAS_LAYOUT_PATTERN_TILED_5_1D4T | 主次平铺,一行4个位于顶部 |
CANVAS_LAYOUT_PATTERN_TILED_5_1L4R | 主次平铺,一列4个位于右边 |
CANVAS_LAYOUT_PATTERN_TILED_5_1R4L | 主次平铺,一列4个位于左边 |
CANVAS_LAYOUT_PATTERN_TILED_6_1T5D | 主次平铺,一行5个位于底部 |
CANVAS_LAYOUT_PATTERN_TILED_6_1D5T | 主次平铺,一行5个位于顶部 |
CANVAS_LAYOUT_PATTERN_TILED_9_1L8R | 主次平铺,右边为(2列x4行=8个块) |
CANVAS_LAYOUT_PATTERN_TILED_9_1R8L | 主次平铺,左边为(2列x4行=8个块) |
CANVAS_LAYOUT_PATTERN_TILED_13_1L12R | 主次平铺,右边为(3列x4行=12个块) |
CANVAS_LAYOUT_PATTERN_TILED_17_1TL16GRID | 主次平铺,1V16,主屏在左上角 |
CANVAS_LAYOUT_PATTERN_TILED_9_1D8T | 主次平铺,主屏在下,8个(2行x4列)在上 |
CANVAS_LAYOUT_PATTERN_TILED_13_1TL12GRID | 主次平铺,主屏在左上角,其余12个均铺于其他剩余区域 |
CANVAS_LAYOUT_PATTERN_TILED_17_1TL16GRID_E | 主次平铺,主屏在左上角,其余16个均铺于其他剩余区域 |
CANVAS_LAYOUT_PATTERN_CUSTOM | 自定义,当使用坐标布局接口时,请使用此 |
CANVAS_LAYOUT_EX_PATTERN_GRID_12_E | 3行4列等分布局 |
CANVAS_LAYOUT_EX_PATTERN_GRID_16_E | 4行4列等分布局 |
CANVAS_LAYOUT_EX_PATTERN_FLOAT_2_1TR | 主次悬浮,大屏铺满,小屏悬浮右上角(小窗宽=画布宽度/5,比例为4:3)支持竖版布局,参考PaaS需求: paas pm |
CANVAS_LAYOUT_EX_PATTERN_FLOAT_2_1TL | 主次悬浮,大屏铺满,小屏悬浮左上角(小窗宽=画布宽度/5,比例为4:3)支持竖版布局,参考PaaS需求: paas pm |
CANVAS_ADAPTIVE_LAYOUT_GRID_MODE | 均分布局 |
CANVAS_ADAPTIVE_LAYOUT_TILED_MODE | 平铺模式 |
CANVAS_ADAPTIVE_LAYOUT_FLOAT_MODE | 悬浮模式 |
CANVAS_ADAPTIVE_LAYOUT_TILED_TOP_MAX16 | 文档布局模式, 窗格位于主屏上方,最多16窗格 |
修改混流布局
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
layoutType | 是 | VHInteractive.CANVAS_LAYOUT_PATTERN_GRID_1 | 当前布局(建议使用pc端设置的布局) 活动详情 |
设置本地流
自己的互动画面
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
VHRenderView | 否 | 互动流的显示view | |
Stream.VhallStreamType | 是 | 123456 | 邮箱 |
attributes | 否 | 互动流之前传递的内容 通过 stream.getAttributes()获取 |
Stream.VhallStreamType
适配类型 | 描述 |
---|---|
Stream.VhallStreamType.VhallStreamTypeOnlyAudio | 互动流只有音频 |
Stream.VhallStreamType.VhallStreamTypeOnlyVideo | 互动流只有视频 |
Stream.VhallStreamType.VhallStreamTypeAudioAndVideo | 互动流有音视频 |
Stream.VhallStreamType.VhallStreamTypeScreen | 屏幕共享流 |
Stream.VhallStreamType.VhallStreamTypeFile | 插播视频流 |
Stream.VhallStreamType.VhallStreamTypeVideoPatrol | 轮巡流 |
Stream.StreamDelegate
适配类型 | 描述 |
---|---|
Stream.VhallStreamEventType.VhallStreamEventTypeCameraError | 互动流只有音频 |
Stream.VhallStreamEventType.CameraDisconnected | 互动流只有视频 |
Stream.VhallStreamEventType.CameraFreezed | 互动流有音视频 |
Stream.VhallStreamEventType.CameraOpening | 屏幕共享流 |
Stream.VhallStreamEventType.CameraFirstFrameAvailable | 插播视频流 |
Stream.VhallStreamEventType.CameraClosed | 轮巡流 |
进入互动房间
上麦
1.
2.
发送问答消息
备注:接口成功之后在消息监听里面接收自己的消息
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
content | 是 | 问题 | 提问的问题内容 |
申请上麦/取消申请上麦操作
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
webinarId | 是 | 123456789 | 活动id |
type | 是 | 1 | 类型 1申请 2取消申请 |
回应互动邀请
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
webinarId | 是 | 123456789 | 活动id |
type | 是 | 1 | 类型 1接受,2拒绝,3超时失败 |
同意上麦申请
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
receive_account_id | 是 | 123456789 | 申请人的id |
拒绝上麦申请
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
receive_account_id | 是 | 123456789 | 申请人的id |
获取文档列表
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
page | 是 | 1 | 页码从1开始 |
limit | 否 | 20 | 获取条目数量,最大100 |
keyword | 否 | 检索使用 | |
DocListInfoData | 返回数据 |
DocListInfoData
参数名称 | 备注 |
---|---|
total | 总数 |
List#DetailBean | 列表数据 |
DocListInfoData#DetailBean
参数名称 | 备注 |
---|---|
document_id | 文档id |
file_name | 文档名称 |
page | 页数 |
ext | 文档类型 doc、docx、ppt、pptx、xlsx、xls |
size | 文档大小 |
created_at | 时间 |
document_id | 文档id |
file_name | 文档名称 |
设置主讲人
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
receive_account_id | 是 | 123456789 | 设置的id |
邀请上麦
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
receive_account_id | 是 | 123456789 | 邀请的id |
获取受限列表
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
page | 是 | 1 | 页码 |
limit | 是 | 20 | 获取条目数量,最大100 |
UserStateListData | 返回数据 |
获取在线列表
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
page | 是 | 1 | 页码 |
limit | 是 | 20 | 获取条目数量,最大100 |
UserStateListData | 返回数据 |
踢人
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
receive_account_id | 是 | 123456789 | 邀请的id |
status | 是 | 1 | 1踢出 0取消踢出 |
禁言
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
receive_account_id | 是 | 123456789 | 邀请的id |
status | 是 | 1 | 1禁言 0取消禁言 |
获取历史聊天记录
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
show_all | 否 | 1 | true显示所有聊天最条为100条 false 为20条 |
List#ChatServer.ChatInfo | 返回数据类 |
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
page | 否 | 1 | 获取条目节点,默认为1 |
limit | 否 | 1-100 | 获取条目数量,最大100 |
msgId | 否 | msg_97161 | 锚点消息id,此参数存在时anchor_path 参数必须存在 |
anchorPath | 否 | 20 | 锚点方向,up 向上查找,down 向下查找,此参数存在时 msg_id 参数必须存在 |
isRole | 否 | 0 | 0:不筛选主办方 1:筛选主办方 默认是0 |
List#ChatServer.ChatInfo | 返回数据类 |
自己发送下麦消息
备注:接口成功之后在消息监听里面接收自己下麦的消息
自己发送下麦消息
接口成功之后在消息监听里面接收自己下麦的消息,操作下麦
下麦
被踢出或者被下麦调用--修改自己的互动上麦状态
翻转相机
设置本地流分辨率
1.
2.
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
definition | 是 | 3 |
清晰度说明
数字 | 推流清晰度 |
---|---|
0 | 192x144 |
1 | 240x160 |
2 | 320x240 |
3 | 480x360 |
4 | 570x432 |
5 | 640x480 |
获取本地流
获取自己之前设置的本地流
发送摄像头/麦克风开关消息
接口成功之后在消息监听里面接收自己的消息,然后自己设置对应的设备开关
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
device | 是 | 1 | 设备 1麦克风 2摄像头 |
type | 是 | 1 | 0关闭 1开启 |
设置摄像头开关
设置麦克风开关
设置镜像
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
mirror | 是 | false | 是否开启镜像 true 开启 |
设置预览画面镜像
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
mirror | 是 | false | 是否开启镜像 true 开启 |
本地预览填充模式
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
scalingMode | 是 | SurfaceViewRenderer.VHRenderViewScalingMode.kVHRenderViewScalingModeAspectFit | 本地预览填充模式 |
适配类型 | 描述 |
---|---|
SurfaceViewRenderer.VHRenderViewScalingMode.kVHRenderViewScalingModeNone | 默认 |
SurfaceViewRenderer.VHRenderViewScalingMode.kVHRenderViewScalingModeAspectFit | 自适应居中 |
SurfaceViewRenderer.VHRenderViewScalingMode.kVHRenderViewScalingModeAspectFill | 铺满全屏 |
发送聊天
备注:接口成功之后在消息监听里面接收自己的消息
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
msg | 是 | 消息内容 | 消息内容 |
type | 否 | VHIM.TYPE_TEXT | 可以不写 |
发送自定义消息
备注:接口成功之后在消息监听里面接收自己的消息
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
content | 是 | JSONObject | 消息内容 |
开启文档融屏
关闭文档融屏
设置美颜
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
level | 是 | 1-5 | 美颜等级 |
基础美颜设置方法
设置互动监听
互动特殊事件通知
参数字段 | 描述 |
---|---|
ERROR_LOGIN_MORE | 被其他人踢出 |
结束直播
主持人退出互动房间必须调用
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
id | 是 | 234700561 | 活动id 在网页上创建 |
accessToken | 否 | " name" | 昵称 |
broadcast | 否 | 123456 | 邮箱 |
rehearsal | 否 | false | 当前是否是彩排 |
销毁互动房间
退出互动房间必须调用
互动房间回调
方法 | 描述 |
---|---|
onDidConnect | 进入房间成功 |
onDidError | 进入房间失败 |
onDidPublishStream | 自己推流成功 |
onDidUnPublishStream | 自己下麦暂停推流 |
onDidSubscribeStream | 收到其他人的流加入 |
onDidRoomStatus | 房间状态改动 |
onDidRemoveStream | 其他人的流移除 |
onDidInternalStreamAdded | 开启文档融屏后,收到文档流 6.9.0 文档融屏新增 |
onDidInternalStreamRemoved | 关闭文档融屏后,文档流移除 6.9.0 文档融屏新增 |
onDidInternalStreamFailed | 融屏失败回调 6.9.0 文档融屏新增 |
互动显示view
stream-关键方法
方法 | 描述 |
---|---|
removeAllRenderView | 清空绑定的view |
addRenderView | 设置显示的view |
getAttributes | 获取创建本地流时候设置的Attributes 可用于获取昵称 角色等 |
muteStream | 获取本地流的设备状态 摄像头和麦克风 |
remoteMuteStream | 获取远端流的设备状态 摄像头和麦克风 |
setMixLayoutMainScreen | 设置当前流为混流布局中的大画面(主持人和主讲人才可以设置) |
VhallStreamType | 当前的流类型,创建直播的时候必穿参数 |
适配类型 | 描述 |
---|---|
Stream.VhallStreamType.VhallStreamTypeOnlyAudio | 互动流只有音频 |
Stream.VhallStreamType.VhallStreamTypeOnlyVideo | 互动流只有视频 |
Stream.VhallStreamType.VhallStreamTypeAudioAndVideo | 互动流有音视频 |
Stream.VhallStreamType.VhallStreamTypeScreen | 屏幕共享流 |
Stream.VhallStreamType.VhallStreamTypeFile | 插播视频流 |
Stream.VhallStreamType.VhallStreamTypeVideoPatrol | 轮巡流 |
修改于 2025-05-27 10:44:12