Skip to content

Releases: SPlayer-CE/SPlayer-for-Android-Next

SPlayer Next Nightly 20260920

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Sep 20:29
409392e

SPlayer Next Android Nightly 每夜构建 (nightly-20260920)

⚠️ 注意:Nightly 为自动构建的每夜预览版本,可能包含未经充分测试的改动与潜在缺陷。如追求稳定体验,请安装正式发布版本。

基础信息

  • 构建基准分支:Android
  • 构建提交哈希:409392e7
  • 构建触发时间:2026-09-20 04:29:16 (CST)

当天提交日志

  • fix(plugin): 对齐 upstream/dev 修复 LX 插件酷狗与 QQ 音乐解析入参规范化 (#22) (409392e) by 北尘(重生版)
  • fix(android build): 补齐初始化前的设备标识,修复配置获取失败 (c2870a5) by Shomi
  • fix(lyric): 增强歌词解析容错与格式自检,彻底修复解析失败致空歌词 (closes #23) (#24) (76b6ffd) by 北尘(重生版)
  • ci: 分离 release/debug 双包发布 + PR 标签测试构建(附登录链路排查) (#25) (4f00908) by Binbim_ProMax

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 10 Sep 00:34

主要更新

perf: 播放引擎迁移专用线程并接入官方下一曲预加载(eade37f)

  • 新增 SPlayerPlayback HandlerThread(THREAD_PRIORITY_AUDIO)作为 ExoPlayer、MediaSession 与 DefaultPreloadManager 的统一 application looper;引擎交互经 runOnPlaybackThread(异步)/onPlaybackThread(同步 latch)收口,公开方法收敛为薄派发层 + @Synchronized 内部实现
  • 跨线程读取播放状态改走快照:cachedIsPlaying/cachedIsBuffering/cachedPlaybackRate/lastKnownPositionMs 由 250ms tick 与各 emit 点维持,getLyricPositionMs/getLyricPlaybackRate/getPositionMs 按线程判定返回
  • 接入 media3 DefaultPreloadManager:预载下一曲开头 10s(specifiedRangeLoaded 参数为微秒),URL 就绪即调度;起播按 URL 命中复用 PreloadMediaSource 免首帧缓冲,命中后移出管理器避免条目累积
  • PlaybackQueue 新增 peekUpcomingTracks(跳过 skipSong、右缘回绕,与 advanceRaw 选曲口径一致)供预加载取下一曲
  • syncApiContext/setFftEnabled/setSpectrumAlgorithm 一并收口到播放线程,修复桥线程触达 preloadManager 的线程违规

fix: Service主线程立即升级前台修复FGS启动超时闪退(8613eaf)

  • 问题:播放线程迁移后 attachService 异步派发,startForeground 依赖播放线程空闲。playIndexAtInternal 在播放线程 startForegroundService 后,播放线程正被引擎重初始化(ExoPlayer/DefaultPreloadManager 构建)占用,慢环境下超过 FGS 启动时限(Android 14+ 收紧至约 10s),系统抛 ForegroundServiceDidNotStartInTimeException 直接杀主线程导致闪退与设备卡死
  • 修复:PlaybackService.onCreate 在主线程先用占位通知立即 startForeground,再异步挂载播放线程,FGS 启动时限与播放线程拥塞彻底解耦;引擎就绪后 updateNotification 仍替换为带 MediaStyle 的完整通知
  • PlaybackManager 新增 ensureNotificationChannel(幂等渠道创建)与 buildStartupNotification(占位通知)
  • 验证:模拟器与 x86_64 设备冷启动即点歌 + 连续切歌,FATAL/FGS 超时 0 次,startForegroundCount 正常递增,渠道 splayer_playback 挂载 MediaStyle 通知正常

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 13:44

What's Changed

  • feat: 完成Android平台适配与基础功能搭建-初始化安卓 by @Shomi-FJS in #1

New Contributors

Full Changelog: https://github.com/SPlayer-CE/SPlayer-for-Android-Next/commits/v1.1.0