Skip to content

Release v8.0.67

Choose a tag to compare

@Hommy-master Hommy-master released this 15 Jun 05:51

改动说明

🐛 问题背景

  • 导出完成后回到首页时,偶发 Windows UI Automation COM 错误(-2147220991 /「事件无法调用任何订户」),导致视频导出任务失败。该问题多出现在窗口切换、UI 元素失效的瞬时阶段,并非草稿内容异常。

✨ 核心修复

剪映自动化控制器(jianying_controller)

  • 🛡️ 窗口匹配回调在读取控件 Name、ClassName 时捕获 COM 瞬时错误,跳过失效元素,避免中断整次窗口查找
  • 🔁 新增带 COM 重试的 Exists 检测逻辑,与现有 _safe_click、_safe_exists 策略保持一致
  • 🪟 get_window 全流程加固:查找主窗口、导出子窗口、清除置顶时均使用 COM 安全重试

视频任务管理(video_task_manager)

  • 🔂 将 COM/UIA 瞬时错误纳入可重试错误类型
  • 📦 导出阶段最多额外重试 2 次(共 3 次尝试),复用已下载草稿,无需重新下载

🧪 测试

  • ✅ 新增 COM 错误识别与窗口匹配容错相关单元测试
  • ✅ 更新导出重试逻辑测试,覆盖 COM 错误重试成功与耗尽场景

📌 使用说明

  • 偶发导出失败时,日志中可能出现 UIA COM error on Exists, retrying 等重试提示,属正常自愈行为
  • 若连续 3 次仍失败,请检查:剪映是否正常运行、是否有人为操作干扰、是否在 RDP 断开或会话锁定环境下运行

⚠️ 已知限制

以下情况仍可能导致导出失败,需从运行环境排查:

  • 剪映未启动或进程异常退出
  • 远程桌面断开、桌面会话被锁定
  • 剪映版本升级导致 UI 结构变化
  • 导出过程中人工操作剪映界面