tencent cloud

文档反馈

SeatGridView

最后更新时间:2024-12-25 18:11:38

    API 简介

    SeatGridView 是我们开发语音聊天室 UIKit 的一个基础控件,该核心控件提供了开启语音聊天室、关闭语音聊天室,直播间内麦位管理,如申请上麦,邀请上麦,移动麦位,踢人下麦等丰富的 API。

    API 概览

    API
    描述
    创建 SeatGridView 对象,支持代码创建 xml 加载两种方式。
    打开本地麦克风
    关闭本地麦克风
    暂停发布本地的音频流
    恢复发布本地的音频流
    主播创建直播间并开始推流
    主播停止推流并销毁直播间
    观众加入某个主播的直播间
    观众离开某个主播的直播间
    更新房间麦位模式
    主播响应上麦申请/观众响应上麦邀请
    主播取消上麦邀请/观众取消上麦申请
    takeSeat
    上麦
    移麦
    leaveSeat
    下麦
    主播邀请用户上麦
    主播踢用户下麦
    lockSeat
    主播锁定麦位(包括位置锁定、音频状态锁定和视频状态锁定)
    主播设置麦位列表的布局模式
    为麦位视图设置适配器
    设置事件回调
    移除事件回调

    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
    

    类型定义

    类型
    描述
    麦位列表的布局模式,支持元素布局、宫格布局、纵向布局、自定义布局
    麦位布局的对齐方式
    请求类型(申请上麦和邀请上麦)
    Size
    麦位布局大小
    麦位布局配置信息
    麦位布局中每一行的布局配置信息
    请求回调
    麦位视图适配器

    LayoutMode

    麦位列表的布局模式
    类型
    描述
    FOCUS
    元素布局
    GRID
    宫格布局
    VERTICAL
    纵向布局
    FREE
    自定义布局

    SeatViewLayoutRowAlignment

    麦位布局的对齐方式
    类型
    说明
    START
    麦位靠近起始位置
    END
    麦位靠近结束位置
    CENTER
    麦位靠近中间位置
    SPACE_BETWEEN
    第一个麦位之前和最后一个麦位之后不留空间,其它麦位之间均匀分布剩余空间
    SPACE_AROUND
    第一个麦位之前和最后一个麦位之后分布一半空间,其它麦位之间均匀分布剩余空间
    SPACE_EVENLY
    在所有麦位之间均匀分布剩余空间

    RequestType

    请求类型
    类型
    描述
    APPLY_TO_TAKE_SEAT
    申请上麦
    INVITE_TO_TAKE_SEAT
    邀请上麦

    Size

    麦位布局大小
    类型
    描述
    width
    布局宽度
    height
    布局高度

    SeatViewLayoutConfig

    麦位布局配置信息
    类型
    描述
    rowConfigs
    麦位布局中所有行配置信息列表,内容可参见 SeatViewLayoutRowConfig
    rowSpacing
    麦位布局行间距

    SeatViewLayoutRowConfig

    麦位布局中每一行的布局配置信息
    类型
    描述
    count
    此行显示的麦位数量
    seatSpacing
    此行中每个麦位水平间距(仅当对齐方式为 START、END 和 CENTER 时生效)
    seatSize
    此行中麦位布局大小
    alignment
    此行中布局的对齐方式(SeatViewLayoutRowAlignment

    RequestCallback

    申请上麦/邀请上麦回调
    API
    说明
    请求被接受
    请求被拒绝
    请求被取消
    onTimeout
    请求超时
    onError
    请求异常

    SeatViewAdapter

    麦位视图适配器接口,您可以通过实现该接口来自定义每一个麦位的显示 UI。
    API
    说明
    创建单个麦位布局时回调。
    更新麦位视图时回调。
    更新用户音量时回调。

    回调事件详情

    onAccepted

    申请上麦/邀请上麦请求被接受。
    void onAccepted(TUIRoomDefine.UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    响应当前请求的用户信息
    返回值:void

    onRejected

    申请上麦/邀请上麦 请求被拒绝。
    void onRejected(TUIRoomDefine.UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    响应当前请求的用户信息
    返回值:void

    onCancelled

    申请上麦/邀请上麦 请求被取消。
    void onCancelled(TUIRoomDefine.UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    取消当前请求的用户信息
    返回值:void

    onTimeout

    申请上麦/邀请上麦 请求超时。
    void onTimeout(TUIRoomDefine.UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    发起请求的用户信息
    返回值:void

    onError

    申请上麦/邀请上麦 请求错误。
    void onError(TUIRoomDefine.UserInfo userInfo, TUICommonDefine.Error error, String message);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    发起请求的用户信息
    error
    TUICommonDefine.Error
    错误码
    message
    String
    错误信息
    返回值:void

    createSeatView

    创建单个麦位布局时回调,您需要将您自定义的 view 作为返回值,核心 view 会帮你创建好视图。
    View createSeatView(SeatGridView seatGridView, TUIRoomDefine.SeatInfo seatInfo);
    参数:
    参数
    类型
    描述
    seatGridView
    SeatGridView
    语聊房核心组件
    seatInfo
    SeatInfo
    麦位信息
    返回值:View

    updateSeatView

    更新麦位视图时回调,您可以根据回调回来的seatInfo信息来更新自己的麦位视图。
    void updateSeatView(SeatGridView seatGridView, TUIRoomDefine.SeatInfo seatInfo, View seatView);
    参数:
    参数
    类型
    描述
    seatGridView
    SeatGridView
    语聊房核心组件
    seatInfo
    SeatInfo
    麦位信息
    seatView
    View
    当前更新的麦位视图
    返回值:void

    updateUserVolume

    更新用户音量时回调,您可以根据回调回来的音量更新自己的麦位视图。
    void updateUserVolume(SeatGridView seatGridView, int volume, View seatView);
    参数:
    参数
    类型
    描述
    seatGridView
    SeatGridView
    语聊房核心组件
    volume
    int
    音量大小
    seatView
    View
    当前音量变化的麦位布局视图
    返回值:void
    

    SeatGridViewObserver概览

    函数列表
    说明
    收到房间销毁的事件
    收到被踢出房间的事件
    收到申请上麦/邀请上麦的请求事件
    申请麦位/邀请上麦请求被取消的事件
    收到用户被踢下麦事件。
    用户音频状态发生变化事件。
    麦位视图被点击事件。

    SeatGridViewObserver详情

    onRoomDismissed

    直播间被销毁的事件。
    void onRoomDismissed(String roomId);
    参数:
    参数
    类型
    描述
    roomId
    String
    房间 ID
    返回值:void

    onKickedOutOfRoom

    自己被踢出房间的事件。
    void onKickedOutOfRoom(String roomId, TUIRoomDefine.KickedOutOfRoomReason reason, String message);
    参数:
    参数
    类型
    描述
    roomId
    String
    房间 ID
    reason
    KickedOutOfRoomReason
    被踢出原因
    message
    String
    被踢出的描述
    返回值:void

    onSeatRequestReceived

    收到 申请上麦/邀请上麦 的请求事件。
    void onSeatRequestReceived(VoiceRoomDefine.RequestType type, TUIRoomDefine.UserInfo userInfo);
    参数:
    参数
    类型
    描述
    type
    请求类型(申请上麦,邀请上麦)
    userInfo
    UserInfo
    发送请求的用户信息
    返回值:void

    onSeatRequestCancelled

    申请麦位/邀请上麦 请求被取消的事件。
    void onSeatRequestCancelled(VoiceRoomDefine.RequestType type, TUIRoomDefine.UserInfo userInfo);
    参数:
    参数
    类型
    描述
    type
    请求类型(申请上麦,邀请上麦)
    userInfo
    UserInfo
    取消请求的用户信息
    返回值:void

    onKickedOffSeat

    用户被踢下麦事件。
    void onKickedOffSeat(UserInfo userInfo);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    操作踢人的主播的用户信息
    返回值:void

    onUserAudioStateChanged

    用户音频状态发生变化事件。
    void onUserAudioStateChanged(UserInfo userInfo, boolean hasAudio, TUIRoomDefine.ChangeReason reason);
    参数:
    参数
    类型
    描述
    userInfo
    UserInfo
    用户信息
    hasAudio
    boolean
    是否有音频流
    reason
    ChangeReason
    音频流发生变化原因
    返回值:void

    onSeatViewClicked

    麦位视图被点击事件。
    void onSeatViewClicked(View seatView, TUIRoomDefine.SeatInfo seatInfo);
    参数:
    参数
    类型
    描述
    seatView
    View
    当前被点击的麦位视图对象
    seatInfo
    SeatInfo
    麦位信息
    返回值:void
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持