Simple Live:跨平台直播聚合一站式方案
【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live
早上上班前想看常追的主播开播没有,手机上装着哔哩哔哩、斗鱼、虎牙、抖音四个 App,一个个翻半天才确认。这款跨平台直播聚合应用 Simple Live,把四大平台塞进了一个应用里:顶部标签切平台,点房间卡片直接播,弹幕样式全平台统一。
项目定位:跨平台直播聚合应用
Simple Live 是一个基于 Flutter 开发的直播聚合客户端,同时支持哔哩哔哩、斗鱼、虎牙、抖音四个直播平台。
- 多端运行:Android、iOS、Windows、macOS、Linux,连 Android TV 都有
- 统一播放:一个播放器看所有平台,清晰度切换、画中画都齐
- 多平台弹幕:各家协议各自解析,渲染风格保持一致
- 数据同步:关注列表、观看历史能跟到别的设备上
Simple Live 核心功能速览
| 功能 | 一句话说明 | 对应路径 |
|---|---|---|
| 跨平台直播聚合 | 四大平台直播统一展示 | simple_live_app/lib/app/sites.dart |
| 多平台弹幕解析 | 不同弹幕协议转成标准格式 | simple_live_core/lib/src/danmaku/ |
| 统一播放器 | 播放、清晰度、画中画 | simple_live_app/lib/modules/live_room/player/ |
| 多设备数据同步 | 关注、历史、设置同步 | simple_live_app/lib/modules/sync/ |
首页的四个平台标签就注册在 sites.dart 里,平台顺序和开关都由它决定。
Simple Live 界面实拍
这张深色主题截图一口气展示了五个页面:首页按平台 Tab 展示热门直播,分类页把网游、手游分成两栏网格,工具箱里可以粘贴其他平台的直播链接直接转跳,「我的」页汇总了观看记录、我的关注和播放、弹幕设置,直播间页则是播放器在上、弹幕互动在下。浅色主题布局完全一样,跟随系统或手动切换都可以。
Simple Live 安装指南:跨平台直播聚合应用快速上手
先说明:项目不提供安装包,需要自己编译。环境要求 Flutter 3.38+。
git clone https://gitcode.com/GitHub_Trending/da/dart_simple_live cd dart_simple_live/simple_live_app flutter pub get flutter run首次运行抓住三步就够了:
- 逛首页:默认打开就是哔哩哔哩直播 Tab,左右滑动顶部标签可以切到斗鱼、虎牙、抖音
- 进直播间:点任意房间卡片直接开播,弹幕随之出现,底部按钮可以开关弹幕
- 关注主播:把喜欢的主播加进「我的关注」,列表存在本地,下次开播一眼看到
想进阶一点,可以试试:
- 在设置里配置弹幕屏蔽词,过滤不想看的弹幕
- 用数据同步在一台设备创建房间,另一台扫码或输房间号加入
- 桌面端开画中画,一边看直播一边干别的
功能深潜
跨平台弹幕统一
这个功能让你在四个平台看到的弹幕是同一套样式。各平台弹幕协议差异很大,有的是 websocket 文本、有的是二进制编码,核心库为每个平台写了独立解析器,把消息统一成标准结构后才交给渲染层。所以你在应用里调字体、速度、透明度、屏蔽词,不管看哪个平台都一样好使。想扒代码看 simple_live_core/lib/src/danmaku/,每个平台一个文件。
多设备数据同步
这个功能把关注列表、观看历史、偏好设置带到另一台设备上。它有两条路:局域网内两台设备互相扫码,点对点直接同步;或者创建一个远程同步房间,其他设备输入 5 位房间号加入,还可选用 WebDAV 存储做备份和恢复。说人话就是换设备不用从头攒关注列表。想扒代码看 simple_live_app/lib/modules/sync/,本地同步和远程同步分目录放得很清楚。
多端支持一览
| 平台 | 状态 | 备注 |
|---|---|---|
| Android(手机/平板) | ✅ | 主力客户端 |
| iOS | ✅ | 正式支持 |
| Windows / macOS / Linux | ⚠️ | BETA,桌面版客户端 |
| Android TV | ⚠️ | BETA,电视端是独立客户端 |
开发者速览
普通用户可以跳过本节。
dart_simple_live/ ├── simple_live_core/ # 核心库:各平台信息与弹幕获取 ├── simple_live_app/ # Flutter APP 客户端 │ └── lib/ │ ├── modules/ # 首页、直播间、搜索、设置等页面 │ ├── services/ # 账号、数据库、同步等业务服务 │ └── widgets/ # 通用 UI 组件 ├── simple_live_tv_app/ # Android TV 客户端 └── simple_live_console/ # 控制台示例程序有几个设计思路值得借鉴:
- 核心库与 UI 分层:simple_live_core 完全不碰界面,APP、TV 版、控制台都调用它,新增平台只加一个站点实现
- GetX + Hive:状态管理、路由、依赖注入交给 GetX,关注列表和历史存 Hive 本地数据库,离线可用
- media_kit(MPV)播放器:播放、硬解、画中画统一收口,省得每个平台各写一套
适合谁用
- 多平台追更党:如果你在多个平台都有常看的主播,不想装一摞 App,可以试试
- 多设备用户:手机电脑都看直播的话,关注列表和设置同步会很实用
- Flutter 开发者:想参考多端客户端的架构分层和弹幕解析实现,这个项目是不错的样本
不适合的情况:如果你只刷某一个平台,装官方 App 就行;另外如果你不想自己编译,目前项目暂时只提供源码,不提供现成安装包。
Simple Live 做的事情很朴素:把四个直播 App 变成一个,四个平台随便看。感兴趣的可以翻翻仓库结构,或者直接编译跑起来试试,十分钟就能上手。
【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考