API 简介
SeatGridView 是我们开发语音聊天室 UIKit 的一个基础控件,该核心控件提供了开启语音聊天室、关闭语音聊天室,直播间内麦位管理,如申请上麦,邀请上麦,移动麦位,踢人下麦等丰富的 API。
API 概览
API | 描述 |
创建 SeatGridView 对象,支持代码创建和 xml 加载两种方式。 | |
打开本地麦克风 | |
关闭本地麦克风 | |
暂停发布本地的音频流 | |
恢复发布本地的音频流 | |
主播创建直播间并开始推流 | |
主播停止推流并销毁直播间 | |
观众加入某个主播的直播间 | |
观众离开某个主播的直播间 | |
更新房间麦位模式 | |
主播响应上麦申请/观众响应上麦邀请 | |
主播取消上麦邀请/观众取消上麦申请 | |
上麦 | |
移麦 | |
下麦 | |
主播邀请用户上麦 | |
主播踢用户下麦 | |
主播锁定麦位(包括位置锁定、音频状态锁定和视频状态锁定) | |
主播设置麦位列表的布局模式 | |
为麦位视图设置适配器 | |
设置事件回调 | |
移除事件回调 |
API 详情
SeatGridView
创建一个 SeatGridView 对象实例。同时支持代码创建和 xml 加载两种方式创建。
public SeatGridView(Context context)
参数:
参数 | 类型 | 含义 |
context | Context | Android 上下文对象 |
返回值:SeatGridView
startMicrophone
打开本地麦克风。
void startMicrophone(ActionCallback callback)
参数:
参数 | 类型 | 含义 |
callback | ActionCallback | 操作的回调 |
返回值:void
stopMicrophone
关闭本地麦克风。
void stopMicrophone()
返回值:void
muteMicrophone
暂停发布本地的音频流。
void muteMicrophone()
返回值:void
unmuteMicrophone
恢复发布本地的音频流。
void unmuteMicrophone(ActionCallback callback)
参数:
参数 | 类型 | 含义 |
callback | ActionCallback | 操作的回调 |
返回值:void
startVoiceRoom
主播创建直播间并开始推流。
void startVoiceRoom(RoomInfo roomInfo, GetRoomInfoCallback callback)
参数:
参数 | 类型 | 含义 |
roomInfo | RoomInfo | 创建直播间的信息 |
callback | ActionCallback | 操作的回调 |
返回值:void
stopVoiceRoom
主播停止推流并销毁直播间。
void stopVoiceRoom(ActionCallback callback)
参数:
参数 | 类型 | 含义 |
callback | ActionCallback | 操作的回调 |
返回值:void
joinVoiceRoom
观众加入某个主播的直播间。
void joinVoiceRoom(String roomId, GetRoomInfoCallback callback)
参数:
参数 | 类型 | 含义 |
roomId | String | 直播间 ID |
callback | ActionCallback | 操作的回调 |
返回值:void
leaveVoiceRoom
观众离开某个主播的直播间。
void leaveVoiceRoom(ActionCallback callback)
参数:
参数 | 类型 | 含义 |
callback | ActionCallback | 操作的回调 |
返回值:void
updateRoomSeatMode
更新房间麦位模式。
void updateRoomSeatMode(SeatMode seatMode, ActionCallback callback)
参数:
参数 | 类型 | 含义 |
seatMode | SeatMode | FREE_TO_TAKE:自由上麦模式,观众可以自由上麦,无需申请; APPLY_TO_TAKE:申请上麦模式,观众上麦需要主播同意后才能上麦。 |
callback | ActionCallback | 操作的回调。 |
返回值:void
responseRemoteRequest
主播响应上麦申请/观众响应上麦邀请。
void responseRemoteRequest(String userId, boolean agree, ActionCallback callback)
参数:
参数 | 类型 | 含义 |
userId | String | 响应用户的用户 ID,如果当前身份是观众,ID 可填空 |
agree | boolean | 是否接受请求,true:同意请求,false:拒绝请求 |
callback | ActionCallback | 操作的回调 |
返回值:void
cancelRequest
主播取消上麦邀请/观众取消上麦申请
void cancelRequest(String userId, ActionCallback callback)
参数:
参数 | 类型 | 含义 |
userId | String | 取消的用户 ID,如果当前身份是观众,ID 可填空 |
callback | ActionCallback | 操作的回调 |
返回值:void
takeSeat
上麦(上麦发言模式下,需要申请)
void takeSeat(int index, int timeout, VoiceRoomDefine.RequestCallback callback)
参数:
参数 | 类型 | 含义 |
index | int | 上麦的麦位编号 |
timeout | int | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 |
callback | ActionCallback | 操作的回调 |
返回值:void
moveToSeat
移麦(已经在麦位上的用户才可以调用此函数)
void moveToSeat(int index, ActionCallback callback)
参数:
参数 | 类型 | 含义 |
index | int | 需要移动过去的麦位编号 |
callback | ActionCallback | 操作的回调 |
返回值:void
leaveSeat
主动下麦
void leaveSeat(ActionCallback callback)
参数:
参数 | 类型 | 含义 |
callback | ActionCallback | 操作的回调 |
返回值:void
takeUserOnSeatByAdmin
主播邀请用户上麦
void takeUserOnSeatByAdmin(int index, String userId, int timeout, VoiceRoomDefine.RequestCallback callback)
参数:
参数 | 类型 | 含义 |
index | int | 被邀请的麦位编号 |
userId | String | 被邀请的用户 ID |
timeout | int | 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发超时回调 |
callback | VoiceRoomDefine.RequestCallback | 操作的回调 |
返回值:void
kickUserOffSeatByAdmin
主播踢用户下麦
void kickUserOffSeatByAdmin(String userId, ActionCallback callback)
参数:
参数 | 类型 | 含义 |
userId | String | 被踢下麦的用户 ID |
callback | ActionCallback | 操作的回调 |
返回值:void
lockSeat
锁麦,主播锁定麦位(包括位置锁定、音频状态锁定和视频状态锁定)
void lockSeat(int seatIndex, TUIRoomDefine.SeatLockParams params, ActionCallback callback)
参数:
参数 | 类型 | 含义 |
seatIndex | int | 需要锁定麦位的麦位编号 |
params | TUIRoomDefine.SeatLockParams | 锁麦参数。详情参见:TUIRoomDefine.SeatLockParams |
callback | ActionCallback | 操作的回调 |
返回值:void
setLayoutMode
设置麦位列表的布局模式。
void setLayoutMode(LayoutMode layoutModel, SeatViewLayoutConfig layoutConfig)
参数:
参数 | 类型 | 含义 |
layoutModel | 麦位列表的布局模式,支持元素布局、宫格布局、纵向布局、自定义布局。 | |
layoutConfig | 布局配置信息,只有自定义布局模式下才生效 |
返回值:void
setSeatViewAdapter
为麦位视图设置适配器。
void setSeatViewAdapter(VoiceRoomDefine.SeatViewAdapter adapter)
参数:
参数 | 类型 | 含义 |
adapter | 麦位视图适配器 |
返回值:void
addObserver
设置事件回调。
void addObserver(SeatGridViewObserver observer)
参数:
参数 | 类型 | 含义 |
observer | 核心组件的回调对象 |
返回值:void
removeObserver
移除事件回调。
void removeObserver(SeatGridViewObserver observer)
参数:
参数 | 类型 | 含义 |
observer | 核心组件的回调对象 |
返回值:void