免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

Simple Live 完整上手指南:一个 App 看遍 B站、抖音、虎牙、斗鱼的直播

Simple Live 完整上手指南:一个 App 看遍 B站、抖音、虎牙、斗鱼的直播 Simple Live 完整上手指南一个 App 看遍 B站、抖音、虎牙、斗鱼的直播【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live看直播的人大概都经历过这样的烦恼B站、抖音、虎牙、斗鱼各装一个 App找主播得来回切换换台还得等启动页。Simple Live 是开源的直播聚合应用把这些平台的直播收进同一个界面跨手机、电脑、平板、电视通用口号就一句话简简单单的看直播。什么是 Simple Live一句话定位Simple Live 是一个把四个主流直播平台合而为一的 Flutter 跨平台直播客户端。四平台聚合哔哩哔哩、斗鱼、虎牙、抖音的直播内容统一浏览不用再装四个 App全端覆盖Android、iOS 已正式支持Windows、macOS、Linux、Android TV 可用后四者为 BETA弹幕内置各家弹幕协议各自解析进直播间就能看到滚动弹幕数据可迁移观看历史、关注列表支持本地扫码同步和 WebDAV 云端同步双主题深色/浅色切换夜间看直播不刺眼Simple Live 深色模式下的首页推荐流按平台分区展示几分钟跑起来快速上手项目不提供现成的 Release 安装包需要自己编译——这也是它作为学习项目的价值所在。整个流程就三步git clone https://gitcode.com/GitHub_Trending/da/dart_simple_live cd dart_simple_live/simple_live_app flutter pub get flutter run环境上只需要 Flutter 3.38 以上。如果你只想改电视端把目录换成simple_live_tv_app即可。仓库分四个包理解一下分工就不迷路了simple_live_core/ # 核心库四平台 API 与弹幕解析 simple_live_console/ # 命令行控制台调试用 simple_live_app/ # 手机端/桌面端客户端 simple_live_tv_app/ # Android TV 客户端核心功能场景化拆解首页刷推荐不用记房间号也能找到想看的平时你不是总知道要看哪个房间更常见的是随便刷刷。Simple Live 首页把各平台的推荐流混排在一起下拉刷新、上拉加载更多卡片上直接显示封面、主播名和在线状态。点开就是播放器选清晰度、开弹幕一气呵成。对新手来说最大的好处是省掉了记房间号→打开对应 App→输入房间号这一整套动作。按分类找游戏直播晚上九点想看点什么想看点游戏直播时可以走分类入口。项目对 B站、斗鱼、虎牙、抖音的直播分类做了统一封装游戏类、娱乐类等目录按平台各自返回你在一个列表里就能横向对比几个平台同分类下的直播间。这个入口和首页推荐形成互补推荐解决随便看看分类解决我就想看某类游戏。关注与弹幕屏蔽把喜欢的留住把烦人的挡掉关注页会显示你关注主播的开播状态开播提醒不用切回各平台。弹幕方面核心库给每家平台写了独立的解析器danmaku 目录 下bilibili_danmaku.dart、huya_danmaku.dart各管一摊解析后统一成LiveMessage模型渲染。设置里有弹幕大小、速度、透明度调节也有弹幕屏蔽页可以按关键词挡掉广告口播。换设备不丢数据手机看了一半客厅电视接着看Simple Live 的同步模块提供两条路局域网内用 UDP 广播互相发现设备、扫码同步适合家里几台设备长期多设备则配置一个 WebDAV 服务做云端备份观看历史和关注列表定期推上去。数据本身存在本地 Hive 数据库里db_service不依赖任何私有服务器。为什么这样设计实现思路整个项目最聪明的地方是把平台差异压缩在一个基类里。LiveSite 基类 定义了统一契约取分类、取推荐、搜索、取房间详情、取清晰度、取播放地址、查直播状态……每个平台各自实现上层 UI 完全无感。所以首页才能把四个平台的房间卡片混排在同一个列表里——界面层只认LiveRoomItem这个模型不认平台。弹幕是同一套思路每个平台的 WebSocket 报文格式、心跳、加密方式都不同但LiveDanmaku接口只暴露收到一条弹幕了这一个事件。以虎牙弹幕为例它要处理 Tars 二进制协议解码、心跳保活这些细节全部封在实现类内部播放器拿到的只是统一的消息对象。架构分成三层simple_live_core管数据请求 API、解析弹幕services/管业务账号、数据库、同步modules/管界面GetX 控制器页面。想加新平台时只动核心库客户端基本不用改。浅色模式下直播卡片与分类浏览日间使用更清爽动手改一改自定义指南最适合新手练手的改造是调整平台顺序和显示范围。打开 sites.dart你会看到一张allSites映射表每个平台一行Constant.kDouyin: Site( id: Constant.kDouyin, logo: assets/images/douyin.png, name: 抖音直播, liveSite: DouyinSite(), ),想只留自己常用的几个平台把不想要的条目删掉即可AppSettingsController里的siteSort还控制着平台在界面上的先后顺序改它的默认值就能决定首页先展示谁。跑一遍flutter run看效果五分钟就能看到变化。踩坑与解决编译失败Flutter 版本不对。项目要求 Flutter 3.38版本偏低时flutter pub get会报依赖解析错误。先跑flutter --version确认必要时用flutter upgrade或指定通道升级。局域网同步扫不到另一台设备。本地同步依赖 UDP 广播23235 端口发现设备跨网段、部分公司网络会拦广播包。先确认两台设备在同一个 Wi-Fi 下路由器若开了 AP 隔离需临时关闭扫不到时改走 WebDAV 同步更稳妥。桌面端和电视端标记为 BETA。Windows、macOS、Linux、Android TV 属于测试性支持个别窗口行为如窗口尺寸、画中画可能不如手机端完善遇到小问题先看 Issues 而不是急着改代码很多已有现成修复。结语Simple Live 用一套统一接口吞下了四个平台的差异是学习 Flutter 跨平台开发、多源数据聚合的好样本。代码完全开源欢迎去仓库提 Issue 或直接动手加一个你爱看的平台。好的工具让生活更简单——Simple Live 把看直播这件事还原成了打开就看。关键词Simple Live直播聚合应用, Flutter直播App, 多平台直播聚合, 直播弹幕解析, 跨设备数据同步, Simple Live安装步骤【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表