直播列表
功能介绍
TUILiveKit 已经支持了房间列表 UI 组件
TUILiveListFragment
,房间列表组件可以帮您展示当前应用下所有的在线直播和语音聊天室的直播间,当您接入房间列表 UI组件后,只需要点击列表中的某个直播间,就可以实时观看当前主播的直播内容。进入直播间后您还可以通过弹幕、礼物、连麦等功能和主播进行实时互动。房间列表组件 | 观看直播 | 和主播连麦 |
| | |
功能接入
说明:
1. 在需要显示房间列表 UI组件的 xml 中添加 FrameLayout 布局。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/fl_live_list" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
2. 通过加载 TUILiveKit 的
TUILiveListFragment
页面到 xml 中定义的布局上,就可以展示房间列表。public class MainActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_activity_main);FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); TUILiveListFragment listFragment = new TUILiveListFragment(); fragmentTransaction.add(R.id.fl_live_list, listFragment); fragmentTransaction.commit(); } }
功能定制
如果当前的 UI 不满足您的需求,您可以通过修改
Android/tuilivekit/src/Main/java/com/trtc/uikit/livekit/common/uicomponent/roomlist
目录下的源代码,来实现您满意的 UI 效果。为了您更方便的定制 UI,这里对房间列表相关的文件做了介绍。// 文件位置:Android/tuilivekit/src/Main/java/com/trtc/uikit/livekit/common/uicomponent/
roomlist // 直播间列表组件的实现目录├── service // 直播间列表组件 的服务层目录│ └── RoomListService.java // 直播间列表组件服务层的具体实现,封装了直播间列表相关的 api├── store // 直播间列表组件 的数据层目录│ └── RoomListState.java // 直播间列表组件 数据的具体封装类└── view // 直播间列表组件 的视图层目录├── adapter // 直播间列表组件 的视图层的适配器目录│ ├── LoadMoreAdapterWrapper.java // 直播间列表组件 对直播间列表适配器扩展了下拉加载功能的适配器│ └── RoomListAdapter.java // 直播间列表组件 的直播间列表适配器├── ListAudienceActivity.java // 直播间列表组件 中点击某一个直播间,拉起的直播拉流页面└── RoomListView.java // 直播间列表组件 直播间列表视图的实现
关键代码
获取直播间列表插件
// 文件位置:Android/tuilivekit/src/Main/java/com/trtc/uikit/livekit/common/uicomponent/roomlist/service/RoomListService.java
private
final
TUILiveListManager
mTUILiveListManager
;
mTUILiveListManager
=
(
TUILiveListManager
)
TUIRoomEngine
.
sharedInstance
(
)
.
getExtension
(
LIVE_LIST_MANAGER
)
;
通过插件获取直播间列表
// 文件位置:Android/tuilivekit/src/Main/java/com/trtc/uikit/livekit/common/uicomponent/roomlist/service/RoomListService.javaprivate static final int FETCH_LIST_COUNT = 20;public String cursor = "";mTUILiveListManager.fetchLiveList(cursor, FETCH_LIST_COUNT, new LiveInfoListCallback() { @Override public void onSuccess(LiveInfoListResult result) { } @Override public void onError(TUICommonDefine.Error error, String s) { } });