首页
/ IINA播放器全屏模式下OSD信息显示异常问题分析与修复

IINA播放器全屏模式下OSD信息显示异常问题分析与修复

2025-05-02 03:26:40作者:舒璇辛Bertina

在IINA播放器的开发过程中,开发团队发现了一个关于全屏模式下OSD(On-Screen Display)信息显示的问题。当用户启用"暂停时显示"功能并进入全屏模式时,OSD中的电池和时间信息会出现显示不完整的情况。

问题现象

用户报告称,在特定配置下进入全屏模式时,OSD面板会显示一个不完整的界面,电池电量和时间信息区域为空。只有当视频开始播放后,这些信息才会正常显示。这与1.3.5版本的行为不同,在旧版本中这些信息在播放前就能正确显示。

技术分析

经过代码审查,开发团队定位到问题源于一个特定的提交(95966df)。该提交原本是为了改进窗口管理逻辑,但在处理多窗口场景时出现了疏漏。IINA播放器与原始修改者的项目不同,它同时维护了普通窗口模式和音乐模式两个独立的窗口实例。

问题的本质在于,OSD信息的初始化时机与窗口创建流程出现了时序上的不匹配。在全屏模式下,OSD面板被过早地渲染,而此时系统状态获取模块尚未完成初始化,导致关键数据显示为空。

解决方案

开发团队通过以下方式解决了这个问题:

  1. 重新梳理了窗口创建和OSD初始化的时序逻辑
  2. 确保系统状态获取模块在OSD渲染前完成初始化
  3. 针对多窗口场景进行了特殊处理,保证音乐模式和普通模式都能正确显示

修复效果

该修复已包含在1.4.0-beta1版本中。用户现在可以:

  1. 在设置中启用"全屏时显示时间和电池信息"选项
  2. 配置"打开媒体时暂停"行为
  3. 进入全屏模式后立即看到完整的OSD信息,无需等待播放开始

这个修复不仅解决了显示问题,还增强了IINA在不同使用场景下的稳定性,特别是对于那些需要在展示或演示环境中使用暂停功能的用户来说尤为重要。

登录后查看全文
热门项目推荐
相关项目推荐