🚀 v1.0.43 更新内容
原生 SMB 重写 & 桌面歌词悬浮窗 & 流式播放修复 — SMB 客户端通过 Android 原生 smbj 库完全重写,实现真实 SMB 协议。新增桌面歌词悬浮窗,支持逐字卡拉OK 高亮与拖拽缩放。修复 FTP/SFTP 流式播放、通知栏控制面板、后台播放连续性。优化面包屑边框、三点按钮位置与分类选择返回行为。
🙏 感谢反馈 — 感谢以下用户反馈与建议:越界、猕猴桃、Sir Jagadeesh Chandra Bose
| 🌐 原生 SMB 客户端 | SMB 客户端完全重写,通过 Android 原生 smbj 库实现真实 SMB 协议,支持自动探测共享名 |
| 📡 FTP/SFTP 流式播放修复 | 修复 FTP/SFTP 流式播放,使用原生 Socket 独立数据连接,支持边缓存边播放 |
| 🌐 远程页国际化修复 | 修复远程连接页硬编码字符串,新增 SMB 协议描述与连接名称后缀的 l10n 翻译 |
| 🖼️ 图片浏览器菜单 | 图片浏览器右上角菜单改为底部弹窗,9 个操作项,黑色半透明背景提升可见性 |
| 🔲 面包屑边框 | 面包屑按钮新增 V 形完整边框,使用 CustomPaint 绘制,相邻按钮无缝衔接且有清晰边界 |
| ⋮ 三点按钮位置 | 文件/文件夹三点操作按钮调整到卡片右上角,避免拖动时误触 |
| ⚙️ 三点按钮设置 | 三点操作按钮设置项改为「显示三点操作按钮」,支持全部显示/仅单窗口/仅双窗口三种模式 |
| ↩️ 分类返回行为 | 分类页多选模式下按返回键取消选择,而不是退出类别 |
| 🎤 桌面歌词悬浮窗 | 新增桌面歌词悬浮窗,支持权限检查、拖动位置、单击切换播放/暂停 |
| 🔔 通知栏面板修复 | 修复下拉通知栏不显示播放控制面板,暂停时保留通知,权限拒绝时提示用户 |
| 🎶 歌词逐字高亮 | 悬浮歌词支持逐字高亮,使用 SpannableStringBuilder 实现卡拉OK效果 |
| ↔️ 悬浮窗缩放 | 悬浮歌词窗口支持长按显示缩放手柄,拖拽调整窗口大小与文字大小 |
| ▶️ 后台播放修复 | 修复开启后台播放时暂停音乐的问题,attach 复用 player 实例不中断播放 |
| 🔄 分类按钮同步 | 修复未开启后台播放时音频类别页播放按钮显示旧音频信息,返回时刷新按钮状态 |
| 🛠️ 构建稳定性 | 修复 R8 编译 OOM、x86_64/armv7 启动白屏,调整 Gradle JVM 内存与 ABI 下载 |
| ✨ 歌词缩放动画 | 逐字歌词过渡动画新增放大效果,修复同步问题,固定 300ms 过渡时长 |
🚀 What's New in v1.0.43
Native SMB Rewrite & Desktop Lyric Floating Window & Streaming Playback Fixes — SMB client completely rewritten with native Android smbj library for real SMB protocol. Added desktop lyric floating window with word-by-word karaoke highlighting and drag-to-resize. Fixed FTP/SFTP streaming playback, notification panel, and background play continuity. Refined breadcrumb borders, three-dot button positions, and category selection back behavior.
🙏 Thanks for Feedback — Thanks to the following users for feedback and suggestions: 越界, 猕猴桃, Sir Jagadeesh Chandra Bose
| 🌐 Native SMB Client | Completely rewrote SMB client using native Android smbj library for real SMB protocol, with automatic share name detection |
| 📡 FTP/SFTP Streaming Fix | Fixed FTP/SFTP streaming playback using raw Socket with independent data connection, supporting progressive caching |
| 🌐 Remote Page i18n Fix | Fixed hardcoded strings in remote connection page, added l10n keys for SMB protocol description and connection name suffix |
| 🖼️ Image Viewer Menu | Image viewer top-right menu changed to bottom sheet with 9 action items, black semi-transparent background for visibility |
| 🔲 Breadcrumb Border | Added V-shaped complete border to breadcrumb buttons using CustomPaint, ensuring seamless connection and clear boundaries |
| ⋮ Three-dot Button Position | Moved file/folder three-dot action buttons to top-right corner of cards to avoid accidental touches during drag |
| ⚙️ Three-dot Button Setting | Renamed three-dot button setting to 'Show three-dot buttons' with three modes: all/single-window only/dual-window only |
| ↩️ Category Back Behavior | In category multi-select mode, back button now cancels selection instead of exiting the category |
| 🎤 Desktop Lyric Floating Window | Added desktop lyric floating window with permission check, draggable position, and tap to toggle play/pause |
| 🔔 Notification Panel Fix | Fixed notification panel not showing playback controls, retained notification on pause, with permission denial prompts |
| 🎶 Word-by-word Lyric Highlight | Floating lyric supports word-by-word highlighting using SpannableStringBuilder for karaoke effect |
| ↔️ Floating Window Resize | Floating lyric window supports long-press to show resize handle, drag to adjust window and text size |
| ▶️ Background Play Fix | Fixed music pausing when enabling background play, attach reuses player instance without interruption |
| 🔄 Category Button Sync | Fixed category page play button showing stale audio info when background play is off, refreshes on return |
| 🛠️ Build Stability | Fixed R8 compilation OOM, x86_64/armv7 startup white screen, adjusted Gradle JVM memory and ABI downloads |
| ✨ Lyric Scale Animation | Added scale effect to word-by-word lyric transition animation, fixed sync issues, fixed 300ms transition duration |