Skip to content

Releases: AimesSoft/NipaPlay-Reload

Release v1.10.8

04 Jun 04:04
fbbfc18

Choose a tag to compare

NipaPlay v1.10.8 更新日志

新功能

英文界面支持 (#600)
新增完整英文翻译,覆盖 512 个界面文本条目,可在设置中切换为英文显示。关联:#598

自动加载外部 MKA 音轨 (#561)
播放本地视频时,自动检测并加载同目录下同名的 .mka 外部音频文件,支持 MDK 和 MediaKit (Libmpv) 双内核。外挂音轨会显示 [外挂] 前缀并附带编解码器、声道、采样率等详细信息,方便识别和选择。快速切换视频时不会发生音轨串音。关联:#560

远程媒体库支持 ASS 字幕自定义字体与外挂 MKA 音轨自动加载 (#567)
远程共享媒体库播放时,ASS 字幕所需的自定义字体(如思源黑体)和同名 MKA 外挂音轨现可自动发现、下载并加载,字幕渲染与音轨选择体验与本地播放一致。MKA 采用流式下载,解决大文件传输中断问题。关联:#568

实验性弹幕引擎 DFM+(B 站 DanmakuFlameMaster 移植) (#562)
实验性移植了 B 站开源弹幕引擎 DanmakuFlameMaster,命名为 DFM+,可在实验室设置中与 Nipa Next2 引擎一同开启体验。

macOS 菜单栏迁移至 PlatformMenuBar (#565)
macOS 菜单栏从原生 Swift/XIB 实现迁移至 Flutter PlatformMenuBar API,导航菜单快捷键现可根据当前可见标签页动态调整。关联:#564

JS 插件弹幕相似度查重引擎 (#574)
引入基于 pakku.js 的高性能 C++ 弹幕相似度查重引擎,通过 Dart FFI 为 JS 插件提供 danmaku.checkSimilarity / danmaku.pairSimilarity 原生同步调用接口,大幅提升弹幕合并与去重的精度和性能。同时修复了 Windows 下 DLL 加载时因拼音字典触发 Loader Lock 导致的死锁/闪退问题。关联:#573

C++ 弹幕布局引擎 (#577)
将弹幕轨道分配、碰撞检测、时间轴检索等高频计算下沉至 C++20 原生层,通过 Dart FFI 桥接,显著降低高密弹幕场景下的 CPU 占用和 Dart GC 掉帧。原生初始化失败时自动无缝降级至纯 Dart 路径。关联:#576

番剧评论系统(Cupertino 主题) (#569)
Cupertino 主题下新增番剧评论系统,使用弹弹play API 作为评论接口回退(触发条件:请求错误/内容异常/超时 4 秒)。

网络诊断与 API 可用性检测 (#584)
网络设置中新增"网络诊断"功能,可检查弹弹play 和 Bangumi API 的当前可用性,并在应用启动时自动完成检测。当仅弹弹play 可用时,评论系统将直接回退,避免 4 秒超时等待。

自定义 Bangumi 镜像地址 (#596)
现已支持在设置中配置自定义 Bangumi API 镜像地址,适合网络访问受限的用户。

关于页面显示构建目标架构 (#606)
关于页面版本信息后新增构建目标标注(如 Arm64 iOSX64 Windows),Material 与 Cupertino 主题共用同一渲染逻辑。

Android SAF 本地媒体库支持 (#599)
Android 端本地媒体库扫描现支持通过 SAF(存储访问框架)访问 SD 卡和 USB 存储中的目录,无需将 content:// URI 转换为文件路径即可完成视频匹配与扫描。关联:#595


体验改进

DFM+ 弹幕引擎全面优化(第二轮) (#575)
对 DFM+ 引擎进行了大规模性能优化,包括碰撞检测去冗余中间层、帧缓存方案修正、FxHashMap 替换标准库 HashMap、LRU 淘汰 O(1) 化、弹幕按类型分组处理提升缓存局部性、Flutter 侧帧调用量化对齐等,整体大幅降低 CPU 和内存开销。

弹幕超采样抗锯齿(平板与桌面端) (#581, #587)
iPad 及 Android 平板设备上,Next2 和 DFM+ 弹幕引擎现采用 2 倍超采样渲染,消除高 DPI 屏幕上弹幕文字的锯齿问题。桌面端(Windows 等低 DPR 平台)同样开启 2 倍超采样,并一并修复了 DFM+ 引擎多项布局 Bug(包括左→右弹幕位置计算错误、固定弹幕满轨行为异常、碰撞检测不完整等)及多项性能优化。

弹幕时间精度与渲染管线优化 (#602)
通过 Ticker 微秒级时钟插值锚定播放位置,消除整数毫秒导致的 16/17ms 交替抖动;移除 Dart 侧 60fps 量化限制,120Hz+ 屏幕不再跳帧;DFM+ 布局计算改为 Dart 同步执行,消除微任务延迟;移除 Rust 侧帧缓存,每帧直接计算,整体改善滚动弹幕流畅度。

相似度引擎迁移至 C++ 原生层 (#583)
将弹幕查重相似度引擎从 Rust-C++ FFI 架构完整迁移至直接 Dart 到 C++ 原生调用,降低多语言桥接复杂度,并修复了迁移过程中 JSON 序列化导致的弹幕去重插件崩溃问题。

ARM Linux 中文显示与 JS 插件运行时修复 (#591)
修复 ARM Linux 下界面中文字符不显示的问题,并内置 QuickJS C 桥接源码以支持 ARM Linux 平台的 JS 插件运行时。

移动端弹幕横向铺满修复 (#597)
修复 Next2 / DFM+ 弹幕内核在手机端无法横向铺满的问题,统一了 overlay viewport 计算逻辑。iOS 端 Cupertino 主题默认隐藏"下载器"设置入口,仅在启用下载器解锁插件后显示。

Windows 端显存共享绘制路径完善 (#601)
Next2/DFM+ 弹幕内核桌面端新增 Windows DXGI shared-handle / wgpu D3D 显存共享绘制路径,避免 CPU 像素缓冲拷贝;修复番剧详情页文本样式异常横线问题,恢复正文正常字重。


Bug 修复

修复弹幕合并功能播放一段时间后静默失效 (#579)
修复使用原生相似度引擎合并弹幕时,因 Rust 桥接层索引越界导致合并功能逐渐失效的问题,通过引入双向索引映射机制彻底解决。

修复 SMB 媒体库缺少弹幕匹配入口 (#580)
修复 SMB 媒体库管理界面中"批量弹幕匹配"和"手动匹配弹幕"按钮缺失的问题。关联:#566

修复 Linux deb 包缺失依赖问题 (#571)
rust_lib_nipaplay 恢复为 FFI plugin,修复 v1.10.5 之后 Linux deb 包错误依赖系统库 "lib nipaplay" 导致安装失败的问题。

修复 Windows 开发者选项系统资源监控重复弹出 PowerShell (#572)
Windows 端系统资源监控改用 Win32 原生 API 实现,修复反复弹出 PowerShell 窗口的问题。

修复 Linux Next2/DFM+ 弹幕纹理桥接崩溃 (#592)
修复 Linux 下 Next2/DFM+ 纹理桥接因原生插件状态构造不正确及 BGRA 拷贝长度 ABI 不匹配导致的崩溃,并补全多处 CJK 字体 fallback 覆盖(番剧详情、性能 HUD、下载器、账号页)。

修复 Linux ARM64 视频输出蓝屏 (#593)
Linux ARM64 平台默认禁用 libmpv OpenGL 纹理渲染,改用软件像素缓冲渲染,修复视频输出蓝屏问题。


维护与发布流程

  • 更新 README 文档,补充 JS 插件系统、Rust+Dart 混合架构、SMB 媒体库支持、AI 防剧透功能说明,移除 Anime4K/CRT 实验性标记,完善功能列表结构。(#558, #559)
  • 新增开发者选项 UI 预览窗口,提取并复用主标签栏组件,统一悬停按钮实现。(#557)
  • 修复 iOS App.framework Info.plist 缺少 MinimumOSVersion 导致 App Store Connect 上传验证失败的问题。(#563)
  • C++ 编译器开启全量 warning 并启用 LTO,修复相关编译警告。(#578)
  • 对齐 C++/Rust 编译器目标架构优化标志(x86-64-v3、armv8.2-a),重构 macOS 通用二进制构建流程,提升 CMake 构建健壮性。(#603)
  • 修复 Web 平台 SimilarityEngine stub 缺少 probeNativeBinding 方法导致的静态分析失败。(#585)
  • 查重引擎默认配置与 pakku.js 完全同步,重构 CMake 构建配置,清理 C++ 编译警告。(#589)
  • 升级 Rust openssl 依赖至 0.10.80,修复安全漏洞。(#605)
  • 修复 Android APK 构建失败问题。(#607)
  • 版本号升级至 1.10.8。

Contributors

@Copilot, @FurudeRika123, @Heylyx841, @MCDFsteve, @Shinokawa, @makabaka11

Release v1.10.7

26 May 07:21
862ad6d

Choose a tag to compare

NipaPlay v1.10.7 更新日志

新功能与体验改进

番剧详情页新增用户评论系统(NipaUI) (#551)

番剧详情页新增"评论"标签页,默认优先展示用户评论。每次加载 20 条,滚动到底部自动加载更多。登录状态下可点击"编辑评论"按钮,通过轻量弹窗设置评分和短评内容;未登录用户同样可以浏览评论。

插件市场内置镜像源自动回退 (#547)

插件市场现在内置多个镜像源。访问官方地址失败时,应用会自动探测并切换到可用的镜像源,无需手动配置加速代理。加速源设置的提示文案也已更新为"留空自动使用内置加速源"。

next2 弹幕内核全面升级 (#550)

  • 使用新的扫码器
  • next2 弹幕内核新增弹幕阴影效果
  • 支持渲染特殊字符和 emoji

next2 弹幕碰撞路由优化 (#556)

采用预判碰撞(will-hit)风格的轨道选择算法,弹幕重叠和追尾问题得到改善,同时保留合并弹幕的缩放行为。

平板非全屏模式下隐藏右上角时间与电量显示 (#543)

在平板设备非全屏播放时,播放器右上角的时间和电量信息将自动隐藏,避免遮挡视频内容。

CupertinoUI 插件设置页新增插件市场入口 (#544)

CupertinoUI 的插件设置页现在提供插件市场入口,点击后从底部弹出插件市场面板。


Bug 修复

修复 next2 弹幕引擎在 Windows 平台无法绘制的问题 (#555)

修复了 next2 引擎在 Windows 上弹幕完全不显示的问题。根本原因是 C++ 插件代码因 MSVC 编译错误导致新版 DLL 从未被部署,同时修复了 DX12 环境下帧就绪信号无法触发、定时器回调失效等底层问题,现改用独立轮询线程确保稳定渲染。

修复 next2 自定义字体导入不生效的问题 (#553)

修复了在 next2 弹幕引擎中导入自定义字体后不生效的问题,现已正确将字体路径传递至 Rust 端字形图集并在回退字体之前优先加载。

修复 next2 弹幕阴影渲染性能问题 (#552)

优化了 next2 弹幕阴影的渲染开销,缩小阴影渲染分辨率并将模糊采样从 9 次减少至 5 次,消除首次使用时的掉帧和启动卡顿,同时保留阴影效果。

修复插件开关设置重启后丢失的问题 (#549)

插件设置中的开关(Switch)类型选项现在会持久化保存,重启应用后用户的选择不再被重置为默认值。关联:#548

修复 CupertinoUI 下载器图标显示错误及相关问题 (#544)

  • 修复 CupertinoUI 导航栏"下载器"图标映射错误,此前回退显示为实心圆
  • 修复 GitHub 加速源保存按钮因背景色与前景色相同导致文字不可见的问题
  • 修复关闭插件市场面板后焦点落入文本框误弹出软键盘的问题

修复番剧信息标题布局错乱的问题 (#554)

修复了番剧信息标题文字过长时布局异常的问题,集数标签现在始终紧跟标题右侧并保持间距一致。

修复 next2 在安卓不绘制的问题 (#550)

修复了 next2 弹幕引擎在 Android 平台无法正常渲染的问题。


维护与发布流程

  • 版本号升级至 1.10.7
  • 修正 .gitignore,移除误提交的 node_modules/data/ 目录

Contributors

@FurudeRika123, @Heylyx841, @MCDFsteve, @makabaka11

Release v1.10.6

21 May 07:21
87ab9ee

Choose a tag to compare

新功能与体验改进

Next2 Rust 弹幕内核(实验室) (#531)

新增 Next2 弹幕内核,轨道分配与渲染核心迁移至 Rust,采用 Rust 计算 + Rust 渲染路径。由于当前仅支持部分平台,需在「设置 -> 实验室」中开启对应开关后,才会在弹幕内核下拉菜单中显示。默认行为不变。

WebDAV 快捷访问新增 TMDB ID 快速匹配 (#530)

在现有 bgmid 快速匹配基础上,新增通过文件名嵌入 tmdbid=xxxx 进行弹幕快速匹配的能力,可跳过 16MB 下载和哈希计算。优先级为:bgmid 优先 → tmdbId 备选 → 自动回退哈希匹配。同时新增实验性「匹配弹幕自动剧集偏移」开关,用于修正弹弹play跨季累加集数与文件名季内集数不一致的问题。两个开关默认均关闭,仅对 WebDAV 快捷播放生效。

插件弹幕处理链式管道 (#538)

为插件系统的 danmaku.modify 权限新增链式处理管道,多个弹幕过滤插件同时启用时,前一个插件的处理结果会自动作为下一个插件的输入,按 priority 优先级升序依次执行,不再出现后写覆盖前写的问题。插件 manifest 模板新增 priority 字段,插件 API 文档同步更新。此外,通过 nipaplay.window 弹出的所有对话框(如设置窗口)在打开期间会自动禁用播放器快捷键,防止输入文字时误触发播放控制。关联:#536#528

Android Libmpv 音频后端可配置 (#533)

在播放器设置中新增「Android 音频后端」选项,允许在 OpenSL ES 与 AudioTrack 之间切换。切换为 AudioTrack 后,音频经过 Android 音效框架处理,可正确应用系统音效(如杜比全景声)。默认保持 OpenSL ES,选项仅在使用 Libmpv 内核的 Android 设备上显示,切换后需重启应用生效。

远程访问二维码支持 IPv6 (#521)

开启远程访问时,同时展示 IPv4 和 IPv6 本地访问地址;Web 服务器优先绑定 IPv6,IPv4 作为回退;二维码内容编码全部候选地址,扫码时逐一尝试连接。

移动端功能补全 (#522)

  • 为移动端文件夹视图补充「批量匹配弹幕」按钮
  • 为移动端 UI 添加插件市场入口及 GitHub 加速设置项
  • GitHub 加速源配置新增保存按钮,点击后进行 URL 合规性检查和连接有效性测试
  • 新增:当应用语言设为繁体中文时,优先加载繁体字幕

关联:#515

弹幕渲染性能优化 (#519)

优化 Next 弹幕内核的布局与绘制热路径,减少每帧内存分配和缓存抖动,保持拖动跟随行为。移动端弹幕描边样式默认改为 stroke(桌面端保持不变)。


Bug 修复

修复 Windows 平台播放控件 tooltip 频闪 (#534)

通过 Overlay 原地更新(markNeedsBuild)替代先移除再插入的方式,并为 onEnter/onExit 事件添加防抖定时器,过滤 Windows 动画帧重建时产生的虚假事件,彻底消除控件提示频闪问题。

修复 MKV 内封 SRT 字幕无法渲染 (#524)

修复 MediaKit (libmpv) 内核下 MKV 内封 SRT/subrip 字幕无法显示的问题。原因是应用字幕样式时无条件清空了 sub-fonts-dir,现改为仅在之前确实设置过字体目录时才清空。ASS 内封字幕不受影响。

修复"请选择视频来源"弹窗在浅色模式下文字不可见 (#525)

弹窗中「相册」和「文件管理器」两个选项的文字颜色由硬编码白色改为跟随主题文字色,修复浅色模式下文字不可见的问题。

修复移动端下载器图标映射错误 (#522)

修复移动端 UI 中下载器图标显示错误的问题。关联:#515

升级 Flutter SDK 修复 Windows 11 25H2 黑屏崩溃 (#535)

将 Flutter SDK 从 3.38.5 升级至 3.41.9,修复旧版 ANGLE 渲染栈与 Windows 11 25H2(Insider build 26200)图形栈不兼容导致的黑屏崩溃问题。


维护与发布流程

  • 修复 Linux 桌面端 Rust 构建清单路径解析及 Windows 端 Rust 链接问题,恢复 CI 构建 (#539#540#541#542)
  • 版本号升级至 1.10.6

Contributors

@FurudeRika123, @MCDFsteve, @Shinokawa, @makabaka11, @weiyongzenqi

Release v1.10.5

12 May 10:44
80fef5d

Choose a tag to compare

NipaPlay v1.10.5 更新日志

新功能

  • WebDAV 文件搜索功能与 bgmid 匹配优化 (#502):在 WebDAV 浏览页面新增文件搜索功能,支持递归遍历、实时结果显示和多种搜索配置(搜索范围、层级、超时、最大结果数等),搜索配置可持久化保存。同时优化了 bgmid 匹配的默认正则表达式,兼容更多 URL 格式(如 bgmid=12345bgm-12345)。此功能位于实验室中。

  • 插件系统全面升级 (#513):新增插件事件系统,支持监听视频加载、播放、暂停、进度跳转、弹幕显示、设置变更等事件;新增插件生命周期钩子(初始化、销毁、恢复、挂起);完善权限系统,涵盖播放器控制、弹幕修改、媒体库读写、弹窗显示、数据存储、系统覆盖等权限类别;新增插件市场入口并连接在线插件仓库,支持搜索、安装和查看说明;新增插件更新检查系统和导入时最低版本检查;支持可选的 GitHub 加速地址设置;为插件配置新增文本框类型配置项;为所有已开放的插件接口注册了 JS-Dart 桥接;为 Cupertino 风格界面增加了下载器入口。

  • 种子下载器工作流改进 (#509):下载完成后支持直接播放已下载的视频文件,并提供文件选择对话框;新增下载器设置项,可自动将已完成的下载任务扫描到媒体库中;修复磁力链接下载时同名文件夹创建的问题,现在会先解析种子元数据再创建输出目录;恢复 macOS 下载目录的写入权限;未完成的下载任务不再显示播放按钮。

  • 远程访问二维码连接 (#510):在实验室设置中新增远程访问二维码显示开关,开启后可在远程访问设置页面展示二维码,优先使用局域网地址方便手机扫描连接;移动端新增基于摄像头的二维码扫描连接流程,可在共享媒体库和远程控制页面使用;扫描连接后共享媒体库与远程控制器地址自动同步。

  • 移动端支持 URL 播放与多服务器管理 (#508):移动端现在支持在导入视频界面直接输入 URL 播放视频;远程媒体库支持添加多个服务器地址。关联:#497

Bug 修复

  • 修复 Linux 平台视频播放卡顿问题 (#484):移除 Linux 上 media_kit 视频渲染路径中每帧的 EGL 上下文切换,改为复用 Flutter 当前的 EGL/GL 上下文进行 mpv 渲染,解决了在 Mesa/NVIDIA 驱动下播放视频时光栅线程阻塞的问题,尤其改善了窗口缩放和全屏切换时的卡顿表现。

  • 修复弹弹 Play 图标在浅色/深色模式下的显示问题 (#503):修复媒体服务器设置中弹弹 Play 图标在特定主题下不可见的问题,图标颜色现在会跟随主题自适应。关联:#490

  • 修复移动端远程访问、弹幕图标阴影与播放列表排序问题 (#504):在移动端(包括 iOS)开放远程访问设置并更新网络权限描述;播放列表和剧集导航现在使用自然文件名排序;为弹幕开关 SVG 图标添加匹配的轻量阴影效果。关联:#500#489#481

  • 修复 iOS 26 液态玻璃 UI 穿透问题及其他移动端修复 (#508):修复 iOS 26 原生液态玻璃 UI 穿透 Flutter UI 的问题;修复移动端开启信息显示后不显示帧数 UI 的问题;修复 PC 端音量调节问题。关联:#506#505

平台适配

  • iPad 隐藏下载器 (#501):在 iPad 上隐藏下载器标签页,同时在不支持下载器的平台上移除设置和默认首页中的下载器相关选项。

维护与发布流程

版本号更新至 v1.10.5。

Contributors

@FurudeRika123, @MCDFsteve, @Shinokawa, @lulitao1997, @makabaka11, @weiyongzenqi

Release v1.10.4

06 May 12:54
45f3bd3

Choose a tag to compare

NipaPlay v1.10.4 更新日志

新功能

  • 性能监控面板升级 (#474):性能监控面板(Perf HUD)现在使用 Rust 进行真实的 CPU、内存和 GPU 指标采样,数据更准确。同时,面板被重新设计为全局独立悬浮窗,采用紧凑的纯文本样式,在小屏幕上会自动切换为多行显示模式。
  • 自定义主题色 (#479):现在可以在外观设置中直接选择和切换应用的主题色。
  • 弹幕屏蔽词批量添加 (#482):弹幕屏蔽词功能现在支持批量添加,您可以使用逗号分隔一次性输入多个关键词或规则。同时,在移动平台上新增了通用文本输入对话框,优化了在键盘弹出时的输入体验。关联:#480
  • 种子下载功能 (#483, #486):新增了独立的“种子下载”标签页,位于媒体库和个人资料之间。通过集成 Rust 库,您可以管理下载任务、设置默认下载目录。该功能目前为可选,您可以在设置中启用。
  • WebDAV 弹幕快速匹配 (#491):播放 WebDAV 视频时,支持通过自定义正则规则从 URL 中提取 BGM ID,从而跳过视频哈希计算,直接快速获取弹幕。此功能可在“设置 > 实验室 > WebDAV快捷设置”中配置。
  • 远程媒体库剧集已观看标记 (#492):在 Emby/Jellyfin 等远程媒体库的详情页中,已观看的剧集现在会显示绿色对勾标记,方便您追踪观看进度。关联:#221
  • Rust 文件扫描正式化 (#496):此前作为实验室功能的 Rust 文件扫描现已转为正式功能,移除了实验室开关。本地媒体库的扫描和刷新将默认使用更高效的 Rust 引擎。
  • Bangumi 同步功能说明 (#495):在账号页面的 Bangumi 同步区域添加了帮助说明入口,分别解释了“弹弹play内置同步”和“NipaPlay同步”两种方式的区别和用法。

Bug 修复

  • 修复 macOS 播放器兼容性问题 (#478):更新了 libmpv 依赖,修复了因 Swift 部署目标设置错误导致在旧版 macOS 上可能无法运行的问题。关联:#476
  • 修复设置页面崩溃问题 (#487):修复了在特定情况下进入设置页面或远程访问设置时可能发生的崩溃。
  • 修复弹幕垂直间距 (#498):修复了 NipaPlay Next 弹幕引擎中弹幕轨道之间垂直间距异常的问题。
  • 修复 iOS 设置页面布局 (#499):修复了在 iOS 设备上,设置页面底部内容可能被标签栏遮挡的问题。

维护与发布流程

  • 添加了 CODEOWNERS 文件以明确代码维护责任 (#475)。
  • 版本号更新至 1.10.4。

Contributors

@FurudeRika123, @MCDFsteve, @Shinokawa, @makabaka11, @weiyongzenqi

Release v1.10.3

03 May 14:10
0bb17f4

Choose a tag to compare

NipaPlay 更新日志 (v1.10.3)

新功能

新增弹幕正则过滤插件支持 (#469)
为弹幕过滤功能引入了插件化支持。现在可以通过插件来管理和应用正则表达式过滤规则,内置了预设的过滤规则插件。插件管理界面新增了删除按钮,并支持为插件内的各项规则独立设置开关。

Cupertino 主题开发者设置新增系统资源监控开关 (#472)
在使用 Cupertino (iOS 风格) 主题时,开发者设置页面新增了“显示系统资源监控”选项。开启后,可以在界面右上角查看 CPU、内存和帧率信息,方便进行性能调试。

体验改进

调整移动端弹幕阴影默认样式 (#467)
将移动端 (iOS/Android) 的默认弹幕阴影样式从“强”改为“无”,以获得更简洁的视觉体验。此更改仅影响首次使用或未设置过偏好的用户,已有用户设置将被保留。桌面端默认值保持不变。

恢复移动端弹幕阴影默认样式 (#471)
撤销了上一版本中对移动端默认弹幕阴影样式的更改,将其恢复为原先的默认值。

Bug 修复

修复 Android 平台设置媒体库时文件选择器失效的问题 (#470)
修复了在 Android 13 及以上版本中,设置媒体库时可能无法正常调用文件选择器的问题。现在会优先尝试调用文件选择器,若失败则会给出提示并回退到扫描默认目录。同时修复了此前引入的 Cupertino 主题下“自定义媒体信息”按钮位置错误的问题。关联:#468

修复手动匹配弹幕对话框的显示与逻辑问题 (#473)
恢复了“手动匹配弹幕”对话框的原有界面样式。优化了弹幕 ID 的获取逻辑,对于已匹配过弹幕的视频,再次播放时将直接使用历史记录中的 ID,避免了重复识别。

维护与发布流程

  • 版本号更新至 1.10.3。

Contributors

@MCDFsteve, @makabaka11

Release v1.10.2

02 May 14:32
84e2a7f

Choose a tag to compare

Release v1.10.2 Pre-release
Pre-release

NipaPlay 更新日志 (v1.10.1..HEAD)

新功能

  • 新增实验室板块与大屏幕模式控制 (#447):在设置中新增“实验室”板块,首个实验功能为“大屏幕模式”开关。仅当开关开启时,主页右上角才会显示大屏幕模式入口。
  • 新增 WebDAV 快捷 Tab (#448):支持在底部导航栏一键访问 WebDAV 服务器,浏览文件并播放视频。WebDAV 设置入口已集成到“实验室”板块。
  • 新增 Rust 文件扫描桥接 (#450):通过 flutter_rust_bridge 将本地媒体文件遍历、哈希计算和差异比对移至 Rust 实现,可通过实验室开关启用,以提升媒体库扫描性能。
  • 新增自定义字幕字体文件夹支持 (#463):支持配置字体文件夹用作字幕渲染。对于目录下含有 Fonts 文件夹的视频,将自动配置;也可手动选择字体文件夹进行导入。关联:#459, #374
  • 新增手机端自定义媒体信息入口 (#458):为手机端 Cupertino 主题的媒体库添加了自定义媒体信息的入口,并修复了该窗口中“上一步”按钮的功能。
  • 新增 JS 插件存储与设置 UI (#460):为 JS 插件系统添加了存储、运行时连接和设置界面,并集成了弹幕过滤功能。

体验改进

  • 优化弹幕开关提示信息 (#438, #439):优化了弹幕开关按钮的提示信息,并修复了部分按钮快捷键显示不全的问题。
  • 优化播放器退出动画 (#448):消除了播放器退出时的卡顿和闪烁,退出延迟显著降低。
  • 优化播放器手势防误触 (#448):避免下拉通知栏或滑动时误触亮度、音量或进度调节。

Bug 修复

  • 修复 macOS HDR 播放切换标签页后黑屏 (#446):解决了在 macOS 上使用 HDR 原生视频输出时,切换标签页后返回播放页视频区域变黑的问题。
  • 修复 PR #448 引入的回归问题 (#452):修复了播放器退出流程的并发问题,以及 WebDAV Tab 开关后的页面索引映射错误。
  • 修复多个已知问题 (#454):
    • 修复自定义弹幕源后个人中心功能不可用的问题。关联:#359
    • 修复发送弹幕窗口输入时仍触发播放器快捷键的问题。关联:#369
    • 修复右 Shift + 方向键无法触发上一集/下一集的问题。关联:#379
    • 修复 Jellyfin 同服多地址场景下命中旧缓存地址导致连接错误的问题。关联:#408
  • 修复多个开放问题 (#457):
    • 修复 Android 文件管理器视频打开处理及应用内 Intent 问题。关联:#429, #425
    • 修复 Emby/Jellyfin 认证、API 及播放 URL 的重定向跟随问题。关联:#393
    • 优化 WebDAV 文件排序逻辑,并添加了相关测试。关联:#297
    • 修复提示信息和季标签的显示约束问题。关联:#332
    • 改进 Android/iOS 媒体选择流程。关联:#426, #456
  • 加固视频表面加载状态 (#462):优化播放器初始化时的加载状态处理,并确保纹理表面在跨内核时能可靠挂载,避免黑屏。

维护与发布流程

  • 清理仓库中生成的 Web 资源文件 (#440)。
  • 减少状态分析器的冗余通知 (#441)。
  • 在 PR 验证流程中启用测试 (#442)。
  • 改进 README 中的 App Store 下载卡片样式 (#453)。
  • 升级 Rust 依赖 tokio 至 1.52.1 (#455)。
  • 修复 Windows CI 中 fvp 依赖的 mdk-sdk 下载地址 (#464)。
  • 修复 Cargokit CMake 路径错误导致的 Windows 构建失败 (#465)。
  • 改进发布流程,使用 Release Bot 进行版本号 bump (#449),并支持手动触发发布 (#451)。
  • 版本号更新至 1.10.2。

Contributors

@JunityZz, @MCDFsteve, @Shinokawa, @makabaka11, @weiyongzenqi

Release v1.10.1

24 Apr 17:01

Choose a tag to compare

Release v1.10.1 Pre-release
Pre-release

新功能

macOS 原生 HDR 视频渲染管线 (#415)
为 macOS 平台引入了基于 libmpv 和 CAOpenGLLayer 的原生视频呈现路径,支持 HDR/EDR 内容输出,并解决了此前版本中存在的启动回归、卸载崩溃以及重复加载框架导致的异常。关联:#356#380#414

弹幕屏蔽词支持正则表达式 (#419)
屏蔽词设置现在支持正则表达式格式(规则名称/表达式/),并优化了屏蔽词标签的显示方式。关联:#418

播放器界面新增独立弹幕开关按钮 (#432)
在播放控制栏添加了快捷弹幕开关按钮,并保持与弹幕设置菜单中的状态同步。关联:#430

体验改进

优化流媒体外部字幕处理 (#415)
修复了 Emby 和 Jellyfin 外部字幕下载失败的问题,现在支持下载并缓存所有可用外部字幕供后续切换。

优化弹幕匹配窗口布局 (#435)
根据主程序高度动态计算批量匹配和手动匹配弹幕窗口的大小,解决了部分情况下按钮被遮挡的问题。

Bug 修复

修复切换语言后番剧卡片标题未更新的问题 (#427)
优化了媒体库卡片的构建逻辑,确保切换系统语言后标题能实时同步。

修复设置页面选项切换时的闪烁问题 (#434)
移除了通用设置页面中不必要的异步构建逻辑,提升了交互稳定性。

修复加载界面封面显示残留 (#434)
解决了在播放新视频时,加载遮罩层仍可能显示上一个视频封面的问题。

修复 WebDAV 媒体库路径解析异常 (#435)
修复了 WebDAV 环境下播放列表和远程字幕因路径处理不当导致的加载失败问题。

维护与发布流程

优化自动化发布流程 (#431)
改进了 CI 工作流,支持按 Pull Request 分组生成更新日志并自动关联相关 Issue。

内部维护与构建优化
更新了 macOS 构建脚本以支持 Nix source-build 方案,修正了 HDR 相关的依赖补丁与权限设置;调整了内部代码导入顺序与格式;完成了版本号自增及文档维护。 (#436)

Contributors

@JohnGu9, @MCDFsteve, @Shinokawa, @makabaka11

Release v1.10.0

17 Apr 13:04

Choose a tag to compare

更新日志

本次更新带来了多项激动人心的新功能,并对已有体验进行了深度优化与问题修复。以下是详细的更新内容:

新增功能

  • 全平台遥控器系统:新增遥控器功能,现在支持使用手机端直接遥控电脑端或平板端的视频播放。为保证安全,被控端在被遥控时会弹出询问窗口,并新增了受信任设备的管理支持。(2951a0df, 26c3743f, badb4cde, e7f2846b PR #405, PR #406)
  • 库管理能力增强:支持为媒体库添加自定义媒体。同时在库管理中新增了“清理不存在文件夹”功能,可一键移除源文件已经丢失的库管理记录,保持媒体库整洁。(b5cc9c92, cf7d71d0, 543e8cbc PR #411, PR #412)
  • 简繁体智能转换:为番剧信息展示及批量弹幕匹配窗口新增了简体中文至繁体中文的自动转换支持。(90ad07b8, ca87467e PR #398)
  • 沉浸式播放体验:添加了自动全屏功能,开启后将在视频载入完成后自动触发全屏行为。(8d203c6a)
  • 外观与主题动效:为深色/浅色模式切换添加了优雅的圆形背景展开过渡动画。(fb39e261)
  • 更新管理:在“关于”页面新增了自动检查更新的开关选项,将更新选择权交给用户。(48b37786 Issue #395)

体验优化与调整

  • 设置层级重构:将“弹幕设置”从“播放器设置”中独立剥离,使设置页面的逻辑分类更加清晰直观。(f3edfa34)
  • 媒体添加入口整合:将原“添加媒体服务器”更名为“添加媒体”,并在其中整合了“添加本地文件夹”的快捷入口;同时优化了刷新媒体按钮的样式,使其与其他按钮保持统一。(6fe8bea3, ae2f6b93)
  • 播放控制优化:在平板与移动端播放视频时,现在允许同时使用触控和键盘进行控制;并清理了底层部分不必要的视频状态修改逻辑。(f7443bb3, ae32df76)
  • 连播倒计时逻辑:优化了界面展示,现在仅在用户选择“自动播放下一话”时,才会显示自动连播倒计时。(484588dc)
  • 多语言与本地化:优化了多语言键值的检查逻辑,并合并了多项多语言文本更新。(d46dc987, ac3e3c7e, 1b86396b PR #399, PR #403, PR #404)
  • UI 细节打磨:移除了设置页面控件残留的毛玻璃效果;重构了平板端的关闭按钮样式,在移除特定样式的同时保留了较大的触控点击区域;优化了遥控器界面的倍速设置 UI。(dfe2aac8, 50cfc12c, bd1b6456)

问题修复

  • 弹幕渲染修复:修复了 NipaPlay Next 弹幕中 Emoji 表情缺少黑色描边的问题,并启用了严格的黑白弹幕描边规则。(2a14819c, 03e37352 Issue #377)
  • 播放器交互修复:修复了在开启“立即隐藏播放器UI”功能后,无法点击顶部“发送弹幕”和“跳过”按钮的异常问题。(1180b387)
  • 设置持久化修复
    • 修复了 macOS 端在设置中将播放结束操作修改为非“自动播放下一话”选项后,重启应用又被还原的问题。(c76e4e5c)
    • 修复了视频增强相关设置在应用重启后无法正确保存的问题。(a167e996 Issue #394)
  • 界面与控件修复
    • 修复了 macOS 端详情窗口中收藏按钮点击无效的问题。(e808477c Issue #413)
    • 修复了移动端在番剧收藏弹窗中输入完成后键盘无法收起的问题。(d84ab04c)
    • 修复了网络设置中“使用该自定义服务器”确认按钮的样式异常。(bcb7cb44)
  • 系统级问题修复:集中处理了与 iOS 状态栏相关的多项异常,并添加了状态栏诊断功能。(13791632 Issue #400, #401, #402)

Release v1.9.22

10 Apr 12:34
bca5a05

Choose a tag to compare

更新日志

本次更新带来了全新的功能特性,并对已知问题进行了集中修复与优化,进一步提升了应用的使用体验。以下是详细的更新内容:

新增内容

  • 添加直接 URL 播放入口
    新增了通过直接输入 URL 进行播放的快捷入口,提升了网络流媒体的播放便利性。
    (0930653, PR #387)

  • 自动排序规则扩展
    自动排序功能现已新增对 [OADxx][Special] 标签的识别与支持,番剧整理更加智能。
    (0ebf6d2, PR #389)

已有功能改动

  • 键盘布局计算优化
    引入 MediaQuery.viewInsets.bottom,进一步优化了设备弹出键盘时的界面底层响应逻辑。
    (00cb700, PR #388)

  • 代码维护与升级
    补充相关代码注释以提升项目可读性 (99b73d4, PR #389);常规构建更新,版本号升级至 1.9.22 (f23182a)

Bug 修复

  • 播放器按钮显示异常
    修复了部分播放器按钮在特定情况下会意外消失的问题。
    (979f889, PR #392)

  • iPad 键盘布局异常
    修复了在 iPad 设备上弹出键盘时导致的界面布局错位与遮挡问题。
    (58b92b6, PR #388)

  • 播放器手势失效
    修复了播放器在部分场景下,滑动等手势操作无法正常响应的问题。
    (b5e43c6, PR #386)

  • 标题阴影裁剪
    修复了播放器顶部标题文字阴影被异常裁剪,导致视觉效果不佳的问题。
    (15a2036, PR #382, Issue #381)

  • 内置字幕加载错误
    修复了播放器内置字幕在解析和加载时可能出现内部错误的问题。
    (aa2b525, PR #376)

文档与其他

  • README 完善
    更新项目说明文档,以更好地适配与满足微软商店 (Microsoft Store) 的展示要求。
    (43e80a1, PR #384)