使用了洋神的玩安卓API 视频接口使用了开眼的api(仅学习使用)
请求网络数据如此简单
val mSystemEntity:MutableLiveData<List<SystemEntity>> by lazy {
MutableLiveData<List<SystemEntity>>().also {
launch {
val systemRes = WanRetrofitClient.service.getSystemData()
mSystemEntity.value = systemRes.data
}
}
}
- lib_core 核心库 引入各种第三方库,utils工具,extension,navigation的封装,room
- lib_commom_ui 主要是UI相关的 CameraX视频录制的封装,全局loading,webview,自定义view,exoplayer的封装使用,各种Base类等
- module_wan 业务模块 玩安卓的各种列表模块和ToDo模块
- module_eye 业务模块 使用开眼的部分开源API,目前主要是视频列表播放和视频详情
- module_video 业务模块 包括视频列表播放 直播推流 直播拉流播放
- 自定义navigation,使用起来更灵活,自定义FragmentNavigator解决底部导航栏切换导致的fragment重建,支持底部导航栏数量配置,支持组件之间跳转和传值。
- 使用paging3.0组件实现列表的滑动加载。
- 自定义LiveDataBus实现页面间,组件间通信
- 使用Room数据库缓存对象
- 使用cameraX完成拍照和视频录制的功能
- 使用hilt
- 添加Flutter模块
- Kotlin synthetic突然宣布被弃用了,所以开始改成ViewBing
使用google的exoplayer来播放视频,并且自定义实现列表滑动播放,列表与详情视频无缝切换
使用SRS直播服务器开源库(服务器8月11号到期~~),WSLiveDemo直播推流,exoplayer拉流播放