diff --git a/src/renderer/components/input-area.ts b/src/renderer/components/input-area.ts index b48d093..91a955f 100644 --- a/src/renderer/components/input-area.ts +++ b/src/renderer/components/input-area.ts @@ -254,6 +254,7 @@ async function handleVideoPath(filePath: string): Promise { // 日志:开始 → 进度(原地更新) → 完成 logInfo('🎬 正在提取视频帧', name); + appendSystemMessage(`🎬 正在提取视频帧 (1fps): ${name}...`); pendingVideoMeta = { fileName: name, duration: 0, width: 0, height: 0 }; renderVideoPreview(); resetVideoProgress(name); @@ -274,6 +275,7 @@ async function handleVideoPath(filePath: string): Promise { pendingVideoFrames = []; pendingVideoMeta = null; renderVideoPreview(); + appendSystemMessage(`❌ 视频帧提取失败: ${result.error || ''}`); logError('视频帧提取失败', result.error || ''); return; } @@ -283,12 +285,14 @@ async function handleVideoPath(filePath: string): Promise { // 完成:新加一条 success 日志,进度条目保留原地 logSuccess('✅ 视频帧提取完成', `${pendingVideoFrames.length} 帧 / ${pendingVideoMeta.duration.toFixed(1)}s (1fps)`); + appendSystemMessage(`✅ ${name}: 已提取 ${pendingVideoFrames.length} 帧 (1fps 采样)`); renderVideoPreview(); } catch (err) { bridge.video.removeProgressListener(); pendingVideoFrames = []; pendingVideoMeta = null; renderVideoPreview(); + appendSystemMessage(`❌ 视频处理失败: ${(err as Error).message}`); logError('视频帧提取失败', (err as Error).message); } }