10 分钟跑通 Simple Live:跨平台直播聚合应用完整教程与源码解析

发布时间:2026/8/26 15:26:03
10 分钟跑通 Simple Live:跨平台直播聚合应用完整教程与源码解析 10 分钟跑通 Simple Live跨平台直播聚合应用完整教程与源码解析【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live晚上十点你想看的朋友一半在斗鱼打比赛一半在 B 站唱歌手机里四个直播 App 来回切换弹幕还没看够页面就没了。Simple Live 是一个用 Dart/Flutter 写的跨平台直播聚合应用把哔哩哔哩、斗鱼、虎牙、抖音的直播装进同一个界面让你在一个应用里看完四个平台。一眼看懂这个项目 Simple Live 解决的问题很直接不用再为每个直播平台装一个客户端。它把四大平台的房间列表、详情页、播放和弹幕统一成同一套界面核心卖点有五条底部导航切换平台追谁的内容就刷谁的推荐流弹幕支持关键词屏蔽还能调大小、速度、透明度关注列表和观看记录可通过扫码或 WebDAV 同步到另一台设备覆盖 Android、iOS桌面端和 Android TV 也在支持中Windows、macOS、Linux 为 Beta完全开源免费源码结构清晰适合当 Flutter 学习项目装好并跑起来 项目要求 Flutter 3.38。注意 README 里写得很清楚项目不提供 Release 安装包所有平台都要自行编译运行。最小步骤如下git clone https://gitcode.com/GitHub_Trending/da/dart_simple_live cd dart_simple_live/simple_live_app flutter pub get flutter run首次打开界面按底部导航分成五个区域首页各平台的推荐直播按瀑布流卡片展示点击卡片直接进直播间分类按游戏、娱乐等分类逐层下钻找到某个垂类的直播间关注你关注的主播开播状态一览不用挨个房间翻搜索一个输入框同时搜多个平台的直播间和主播我的观看记录、账号登录B 站扫码或网页登录、抖音账号、设置中心它能帮你做什么追内容时四个平台共用一个搜索框平时你在 B 站看的战队、在斗鱼关注的主播现在同一个搜索页里都能查到。输入关键词后按平台分组返回结果搜完直接点进直播间不用记房间号也不用打开原 App 跳转。看直播时弹幕和画质都能调进直播间后右上角有弹幕开关和设置入口。弹幕大小、速度、透明度单独可调还能加屏蔽规则把刷屏的关键词或指定用户过滤掉。播放端基于 media_kit一个支持多格式的 Flutter 播放库清晰度可以在设置里改看 1080P 还是 720P 取决于你的网络和带宽。换设备时关注列表不用重新加手机上攒的关注列表换到平板或电视上不想重新维护设置中心的同步模块提供两条路本地同步在一台设备上扫码局域网内直接传远程同步接一个 WebDAV 服务一种基于网页协议的文件存储关注列表和观看记录就跟着走。对经常换设备看直播的人来说这条链路是省时间的关键。它是怎样做到的 ⚙️数据流可以拆成三段。界面层在 simple_live_app/lib/modules/每个页面配一个 GetXFlutter 生态里做状态管理和路由的库控制器只负责展示和交互。数据层全部在 simple_live_core/ 这个独立库里所有平台实现同一个LiveSite接口方法名基本就是接口本身// simple_live_core/lib/src/interface/live_site.dart class LiveSite { FutureListLiveCategory getCategores(); FutureLiveCategoryResult getRecommendRooms({int page 1}); FutureLiveRoomDetail getRoomDetail({required String roomId}); FutureListLivePlayQuality getPlayQualites({required LiveRoomDetail detail}); FutureLivePlayUrl getPlayUrls({required LiveRoomDetail detail}); LiveDanmaku getDanmaku(); }BiliBiliSite 等四个平台实现各自调公开接口拿分类、房间、播放链接弹幕则走各平台自己的 WebSocket 协议单独处理比如 B 站的弹幕包用 protobuf 编码一种紧凑的二进制序列化格式解析逻辑在 simple_live_core/lib/src/danmaku/。统一成LiveRoomItem、LivePlayUrl等模型后上层 UI 根本不需要知道当前在哪个平台。这就是为什么界面可以一套代码跑四端。想动手改一改 最常见的扩展是接入一个新直播平台只需要两步在 simple_live_core/lib/src/ 下新建xxx_site.dart实现LiveSite接口重点是getRecommendRooms、getRoomDetail、getPlayUrls和getDanmaku在 simple_live_app/lib/app/sites.dart 的allSites映射里注册一行形如Constant.kXxx: Site(id: ..., name: 新平台, logo: ..., liveSite: XxxSite())注册完新平台就会自动出现在底部导航和搜索里不用改任何页面代码。使用过程中的常见问题 ❓有现成安装包吗没有。README 明确说明项目不提供 Release 包需要用 Flutter 3.38 自行编译这也是它作为学习项目的一部分。桌面端能用吗Windows、macOS、Linux 均已适配但标注 BetaiOS 上还有播放兼容问题在跟进中见 simple_live_app/README.md 的 TODO遇到播放失败先换平台验证是设备问题还是网络问题。深色浅色主题怎么切换设置中心的外观设置里可以手动选深色或浅色也可以跟随系统。夜间长时间看直播建议用深色模式减少亮度反差带来的疲劳。这个项目能商用吗不能。作者声明所有功能基于公开资料开发无任何破解或逆向项目仅供学习交流商业使用需要另行取得授权。写在最后Simple Live 的价值在于把多平台看直播这件杂事收敛成一个应用源码又是难得的 Flutter 多端实战样本。克隆仓库跑起来试试遇到弹幕协议或播放链路的问题欢迎到项目仓库提 Issue 参与讨论。【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考