十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Simple Live 直播聚合应用完整指南:一个应用看完哔哩哔哩、斗鱼、虎牙、抖音直播

Simple Live 直播聚合应用完整指南:一个应用看完哔哩哔哩、斗鱼、虎牙、抖音直播 Simple Live 直播聚合应用完整指南一个应用看完哔哩哔哩、斗鱼、虎牙、抖音直播【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live你是否曾经为了看直播在手机里装了好几个应用——哔哩哔哩、斗鱼、虎牙、抖音各占一格切换起来又麻烦又占空间Simple Live 是一个完全开源的跨平台直播聚合应用它的理念只有五个字简简单单的看直播。它把哔哩哔哩、斗鱼、虎牙、抖音四大平台的推荐、分类、直播间收进同一个应用你在一处就能看完所有平台的直播。 Simple Live 是什么一款跨平台直播聚合应用它不仅仅是一个直播聚合 App更是一个把多平台接口协议、弹幕系统、数据同步都收进同一个开源仓库的完整工程。支持的平台覆盖 Android、iOS、Windows、macOS、Linux 和 Android TV一次开发多端都能跑。深色主题下的首页推荐、分类浏览、工具箱与直播间页面从界面看它的主导航非常克制首页、分类、关注、工具箱、我的每个页面都只做一件事。这种简简单单的设计正是它名字里藏着的态度。 五分钟跑起来从零克隆到启动项目不发布安装包但源码完全开放你自己编译即可。整个仓库分成四块simple_live_core是核心库负责抓取各平台数据与弹幕simple_live_app是移动端 Flutter 应用simple_live_tv_app是 Android TV 版simple_live_console是基于核心库的控制台程序。理解了这四块你就有了整个项目的心智模型。跑起来的步骤只有四行git clone https://gitcode.com/GitHub_Trending/da/dart_simple_live cd dart_simple_live/simple_live_app flutter pub get flutter run需要 Flutter 环境版本要求见项目说明README 中注明为 3.38。核心库和数据抓取层是同一个仓库里最精华的部分想深入源码的同学可以直接从这里看起simple_live_core/lib/src/。⚡ 三个核心功能值得深挖工具箱直播间中转与直链获取。你在别处看到一个直播链接粘贴进工具箱的直播间中转哔哩哔哩、虎牙、斗鱼、抖音的链接都能在应用内直接打开观看获取直链则能拿到对应平台的播放地址。这是它区别于普通聚合站的一个实用设计。四平台弹幕系统。弹幕走的是各平台自己的私有协议Simple Live 把它们全部做了适配抖音弹幕基于 protobuf 解析虎牙涉及 Tars 协议B 站和斗鱼则走 WebSocket 长连接。弹幕大小、速度可调还支持关键词与用户屏蔽规则相关实现集中在 simple_live_core/lib/src/danmaku/。多设备数据同步。关注列表和观看记录可以跨设备带走局域网内用二维码扫码即可完成本地同步远程则支持配置 WebDAV 服务做云端备份入口在 simple_live_app/lib/modules/sync/。其余能力一句话带过深浅双主题、B 站账号扫码登录、观看历史与关注管理、直播卡片流式加载都在我的页面里各归其位。 技术亮点一个接口如何统一四大直播平台四个平台的接口格式、弹幕协议完全不同Simple Live 却没有在界面层里写一堆 if-else。它真正做到了用一套抽象让上层完全感知不到平台差异关键就是数据层里的 LiveSite 基类。用数据层→逻辑层→界面层的框架来看这套设计数据层bilibili_site.dart、douyu_site.dart、huya_site.dart、douyin_site.dart四个类分别继承LiveSite各自实现获取分类、搜索、推荐、房间详情、清晰度、播放链接、直播状态、SC 消息这八个能力并通过getDanmaku()返回对应平台的弹幕实例逻辑层应用内的 services 负责账号、本地数据库与同步调用时只面向统一接口编程界面层GetX 控制器拿到的永远是同构的LiveRoomItem、LiveRoomDetail等模型UI 代码完全不需要知道当前直播间属于哪个平台。这种模板方法 统一接口的做法是它扩展性好的根本原因——新增平台时界面层一行代码都不用动。 实用技巧三条可直接照做的建议浅色主题下的分类页、工具箱与直播间页面播放失败先关硬件解码卡顿就开兼容模式。播放设置页里这两项开关的副标题写得很直白播放失败可尝试关闭、若播放卡顿可尝试打开遇到黑屏或掉帧先试这两个选项。善用工具箱的直播间中转。平时刷到的直播链接不用跳去对应 App粘贴进中转框即可在 Simple Live 内播放配合直链获取还能拿到原始播放地址。把同步开起来。换设备前用扫码本地同步传一次数据长期使用再配一个 WebDAV 目录自动备份关注与记录避免重新养一个应用的习惯成本。️ 贡献入口三步新增一个直播平台如果你想让它支持更多平台路径非常清晰在 simple_live_core/lib/src/ 下新建平台类继承LiveSite并覆写各能力方法在 simple_live_core.dart 中导出该文件在 simple_live_app/lib/app/sites.dart 的allSites中注册平台 ID、名称与图标。最小示例长这样class NewSite extends LiveSite { override FutureListLiveCategory getCategores() async { // 实现获取分类 } override FutureLiveCategoryResult getRecommendRooms({int page 1}) async { // 实现获取推荐直播间 } // 其余方法按需覆写getRoomDetail、getPlayUrls、getDanmaku 等 } 展望与行动号召项目声明中写明了基于公开资料开发仅用于学习交流这份克制也给了社区清晰的边界。接下来可以期待的方向支持更多国内外直播平台、TV 端与桌面端体验持续完善、以及更灵活的同步与备份能力。读完这篇文章你至少能带走这些能力理解接口抽象 模板方法如何统一多个异构平台掌握 Flutter 多端应用含 Android TV的工程组织方式看到弹幕私有协议protobuf、Tars、WebSocket的完整解析案例学会用 GetX 组织控制器与页面保持模块化获得一个可直接 fork 扩展的直播聚合应用底座现在就克隆仓库跑起来或者去项目页点个 Star让你的支持成为作者继续迭代的动力。好的工具应该让生活更简单而不是更复杂——Simple Live 正是这样一个工具。【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表