爱意满满的作品展示区。
sodayo

开源一个 Android 原生 Subsonic 音乐客户端, 适用于 NAS 用户

  •  
  •   sodayo · 10 days ago · 253 views

    https://github.com/lwp2070809/speculonic-android

    本 APP 最初构想和设计是在好几年前, 从今年开始借助 AI 进行重构, 在本地打磨了好几个月迭代到了 0.9 版本, 总算有自信开源了. 目前还在测试阶段, 主要是还没有测试除了 Navidrome 之外, 其他 Subsonic 服务器的兼容性. 除此之外已经和朋友使用了很长一段时间, 没有发现特别影响使用体验的 bug, 但还是仰赖各位 V 友提出意见和使用中碰到的问题, 来帮助我改善 APP.

    设计理念

    本 APP 基于 "将 App 作为远程 Subsonic 服务器的本地镜像" 的设计理念, 具备与远程 Subsonic 服务器同步与对比差异的能力, 同时具备本地播放器的高性能与扩展接口.

    功能特性

    • Android 原生开发: 基于 Android 原生 Jetpack Compose 和 kotlin 技术构建. 支持手机端与平板电脑的响应式自适应布局. 播放引擎为 ExoPlayer.
    • Subsonic 本地镜像: 提供增量 Subsonic 元数据同步机制, 并持久化到本地数据库. 内置数据一致性校验, 能分析并修复已缓存音乐文件与远程 Subsonic 服务器中数据的差异.
    • 车机蓝牙适配: 可以嗅探车机蓝牙广播与设备指纹来判断是否连接到车载蓝牙音频; 劫持底层 AVRCP 协议, 将歌曲实时同步歌词投送到车载屏幕.
    • 主题系统: 支持深色主题. 播放界面可根据当前曲目封面执行动态色彩提取与对比度校验, 提供高斯模糊和微光渐变两种美观的播放器背景.

    APP 截图和更多信息详见 GitHub 仓库的 README.

    一些碎碎念:直到上个月我才发现已经有 Substreamer 这个开源 Android 客户端, 在元数据同步这块功能上已经基本覆盖了本 APP 的功能而且更完善, UI 也更美观, 说实话有点受打击, 只能安慰自己起码是原生开发性能更好; 之所以对车载蓝牙音频上投入很多精力开发, 是因为我听歌的 90%场景是在我的特斯拉汽车上面, 算是和别的 Subsonic 客户端的功能差异点;

    sodayo
        1
    sodayo  
    OP
       10 days ago
    不知道为啥这个主题明明是上午发的, 但是个人页面中显示发布于 2 天前, 并且直接到了这个节点的第 4 页. 是因为账号降权了么?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5406 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:13 · PVG 17:13 · LAX 02:13 · JFK 05:13
    ♥ Do have faith in what you're doing.