From 3ddde4c650bb306445308ef1a4458a252c7f7aeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=AE=8F=E6=9D=B0?= Date: Tue, 18 Aug 2026 17:43:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=99=A8=E8=A7=86=E9=A2=91=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=92=8C=E6=A0=87=E9=A2=98=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复3个根因: 1. useSegmentScheduler: 用 srcLoadedRef 替代 video.src 检查 - video.src='' 在浏览器中被解析为页面URL,导致条件永远为false - switchToSegment 先绑事件再设src,加 readyState 检查和10s超时 - 显式调用 video.load() 确保加载启动 2. FrontendPreviewPlayer: 移除嵌套的 .xx-preview-video 容器 - 改为 Fragment + absolute 定位,避免双层 overflow:hidden 冲突 - 视频/控制条/播放按钮直接填充父容器 3. PreviewVideoPanel: 简化为单一 .xx-preview-video 容器 - TitleOverlay z-index:20 确保在视频(z:1)和控制条(z:10)之上 --- .../components/FrontendPreviewPlayer.tsx | 161 ++++++++++-------- .../generate/components/PreviewVideoPanel.tsx | 37 ++-- .../generate/hooks/useSegmentScheduler.ts | 120 ++++++++++--- 3 files changed, 207 insertions(+), 111 deletions(-) diff --git a/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx b/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx index bd8bf2b82..4e3f5673a 100644 --- a/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx +++ b/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx @@ -2,6 +2,9 @@ * 前端预览播放器 * 用原生