直播能力
收藏我的收藏
前提条件 无 业务背景 无 使用限制 无 注意事项 无 相关教程 无
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | 无 |
相关教程 | 无 |
TT.GetLiveManager
TTSDK 6.2.5 及以上版本支持该能力
获取直播能力管理对象。
语法
TT.GetLiveManager()
参数说明
无
返回值
类型 | 说明 |
TTLiveManager | TTLiveManager 对象 |
以下接口能力全部通过
TT.GetLiveManager()
获取到的 TTLiveManager 对象调 用。TTLiveManager.CheckRoomIsValid
TTSDK 6.2.5 及以上版本支持该能力
检查直播间是否有效。回调成功即表示直播间有效,可以进入。
语法
TT.GetLiveManager().CheckRoomIsValid(JsonData param, Action<JsonData> successCallback = null, Action<int, string> failedCallback = null, Action completeCallback = null);
参数说明
JsonData 类型的 param 可以传入以下参数:
属性名 | 类型 | 默认值 | 必填 | 说明 |
roomID | string | | 是 | 直播间ID。可以从 GetLiveStatus 中获取主播直播间id。 |
使用示例
var param = new JsonData { ["roomID"] = roomId }; TT.GetLiveManager().CheckRoomIsValid(param, data => { Debug.Log($"CheckRoomIsValid success,{data.ToJson()}"); }, (errCode, errMsg) => { Debug.Log($"CheckRoomIsValid failed, errCode:{errCode}, errMsg:{errMsg}"); }, () => { Debug.Log("CheckRoomIsValid complete"); });
TTLiveManager.NavigateToLive
TTSDK 6.2.5 及以上版本支持该能力
跳转到指定直播间。
语法
TT.GetLiveManager().NavigateToLive(JsonData param, Action<JsonData> successCallback = null, Action<int, string> failedCallback = null, Action completeCallback = null)
参数说明
JsonData 类型的 param 可以传入以下参数:
属性名 | 类型 | 默认值 | 必填 | 说明 |
roomID | string | | 是 | 直播间ID。可以从 GetLiveStatus 中获取主播直播间id。 |
使用示例
var param = new JsonData { ["roomID"] = roomId }; TT.GetLiveManager().NavigateToLive(param, data => { Debug.Log($"NavigateToLive success,{data.ToJson()}"); }, (errCode, errMsg) => { Debug.Log($"NavigateToLive failed, errCode:{errCode}, errMsg:{errMsg}"); }, () => { Debug.Log("NavigateToLive complete"); });
TTLiveManager.GetLiveStatus
TTSDK 6.2.5 及以上版本支持该能力
查询小游戏关联的小玩法主播直播信息。
语法
TT.GetLiveManager().GetLiveStatus(GetLiveStatusParam)
参数说明
NavigateToLiveParam 类包含参数如下:
属性名 | 类型 | 默认值 | 必填 | 说明 |
OpenIdList | List<string> | | 是 | 要查询的主播openId列表 |
Success | Delegate GetLiveStatusSuccessCallback | | 否 | 接口调用成功的回调函数 |
Fail | Action<ErrorInfo> | | 否 | 接口调用失败的回调函数 |
Complete | Action | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
Success 是一个 delegate,接收
GetLiveStatusSuccessResult
类型参数,属性如下:属性名 | 类型 | 说明 |
LiveStatus | Dictionary<string, TTLiveStatus> | 传入的OpenIdList对应的主播直播信息列表 |
TTLiveStatus
包含一下属性:属性名 | 类型 | 说明 |
OpenId | string | 主播的openId |
IsOnLive | bool | 是否正在直播 |
NickName | string | 昵称 |
AppId | string | 对应玩法的Id |
AvatarUrl | string | 主播头像 |
RoomId | string | 直播间Id |
使用示例
TT.GetLiveManager().GetLiveStatus(new GetLiveStatusParam() { OpenIdList = openIds, Success = data => { Debug.Log($"getLiveStatus success,{data.ToJson()}"); }, Fail = error => { Debug.Log($"getLiveStatus failed, errCode:{error.ErrorCode}, errMsg:{error.ErrMsg}, errorType: {error.ErrorType}"); } });
TTLiveManager.OnXScreenSizeChange
TTSDK 6.2.5 及以上版本支持该能力
监听 X 分屏,全屏/半屏 切换事件。
语法
void OnXScreenSizeChange(OnXScreenSizeChangeCallback callback);
参数说明
callback
callback 是一个 delegate,接收的参数如下:
属性名 | 类型 | 说明 |
Type | XScreenType enum | 当前X分屏变化事件类型 |
Type 为 enum 类型,其枚举值如下:
枚举值 | 说明 |
EnlargeBegin | X分屏开始由半屏变为全屏 |
EnlargeEnd | X分屏由半屏变为全屏结束 |
ReduceBegin | X分屏开始由全屏变为半屏 |
ReduceEnd | X分屏由全屏变为半屏结束 |
返回值
无
使用示例
private void OnXScreenChange(OnXScreenSizeChangeResult result) { Debug.Log($"OnXScreenChange, type:{result.Type}"); } private void OnXScreenChange() { TT.GetLiveManager().OnXScreenSizeChange(OnXScreenChange); }
TTLiveManager.OffXScreenSizeChange
TTSDK 6.2.5及以上版本支持该能力
取消监听 X 分屏,全屏/半屏 切换事件。
语法
void OffXScreenSizeChange(OnXScreenSizeChangeCallback callback = null);
参数说明
callback
callback 是一个 delegate,接收的参数如下(不传则会删除所有 callback):
属性名 | 类型 | 说明 |
Type | XScreenType enum | 当前X分屏变化事件类型 |
返回值
无
使用示例
TT.GetLiveManager().OffXScreenSizeChange();