Skip to content

客户端选择 ​

Songloft 提供 Flutter 与 Lynx 两套播放器客户端;它们连接同一后端,发布包和能力范围分别维护。

项目FlutterLynx(预览版)
技术Flutter / DartReactLynx / TypeScript
平台Android、iOS、macOS、Windows、Linux、WebAndroid、iOS、HarmonyOS、Web
Bundle 本地后端支持移动端与桌面端未实现,所有平台需独立服务器
桌面客户端支持未实现
客户端更新以 Flutter 客户端指南为准重新下载并安装,尚无客户端内检查更新
核心功能播放、曲库、歌单、歌词、插件、主题等已有对应实现,仍需原生设备回归
许可证Apache-2.0Apache-2.0

Flutter ​

后端完整镜像与二进制默认嵌入 Flutter Web;加入 Lynx 下载入口不会自动更换内嵌界面。

Lynx 预览版 ​

底层技术:Lynx 官网 · ReactLynx 官方文档。

平台产物使用边界
Android 5.0+songloft-lynx-android.apkrelease 签名,覆盖升级需相同签名与较新构建号
iOS 15+songloft-lynx-ios-nosign.ipa未签名,安装前需自行重签;Live Activity 需 iOS 16.2+
HarmonyOS NEXT / API 13+songloft-lynx-harmony.hap实验性;签名 profile 决定可安装设备范围,全屏视频未实现
Websongloft-lynx-web-{standalone,embedded}.tar.gzHTTPS 与 COOP/COEP 必需,无 Bundle、DLNA 或单曲离线缓存

每个 Release 同时提供 version.json 与 checksums.txt。dev 下载包同样是 Release 构建,不开放 TCP/E2E 测试桥。

Web standalone 显示服务器地址输入;embedded 使用同源服务器并隐藏该输入。两者都需要正确的 MIME 与隔离响应头;替换 Go 的 Flutter 内嵌资源并不能自动满足 Lynx 宿主契约。部署请参阅 Web 指南,子路径部署目前未验证。

发布与文档维护 ​

Lynx 在自己的仓库使用 pnpm run release patch --dry-run 审核发版计划,实际发版同步版本并原子推送 main 与版本 tag。无需为客户端发版同步修改服务端版本。

本站的 Lynx 公共指南从 clients/player-lynx 子模块自动同步,中文在 /player-lynx/、英文在 /en/player-lynx/。编辑源仓库、提交推送后,在主工程更新子模块指针;不要手改生成的文档站页面。平台编译和签名结果以该仓库 Actions/Release 为准,后台播放、通知、投屏等还需真机验证。