diff --git a/app/static/public/js/video.js b/app/static/public/js/video.js index dd6c065..00cd3a5 100644 --- a/app/static/public/js/video.js +++ b/app/static/public/js/video.js @@ -1528,12 +1528,24 @@ const generatedVideoUrl = await waitEditVideoResult(taskId, normalizeAuthHeader(authHeader)); const mergedBlob = await concatVideosLocal(frameInfo.sourceBuffer, generatedVideoUrl); const mergedUrl = URL.createObjectURL(mergedBlob); - const item = getSelectedVideoItem(); + let item = getSelectedVideoItem(); + if (!item && videoStage) { + const items = Array.from(videoStage.querySelectorAll('.video-item')); + item = items.find((node) => String(node.dataset.url || '').trim() === String(selectedVideoUrl || '').trim()) || null; + } + if (!item) { + item = initPreviewSlot() || null; + } if (item) { + if (!selectedVideoItemId) { + selectedVideoItemId = String(item.dataset.index || ''); + } + item.dataset.url = mergedUrl; const state = { previewItem: item }; renderVideoFromUrl(state, mergedUrl); - bindEditVideoSource(mergedUrl); + refreshVideoSelectionUi(); } + bindEditVideoSource(mergedUrl); editingRound += 1; setStatus('connected', `拼接完成(第 ${editingRound} 轮)`); toast('拼接完成,可继续下一轮编辑', 'success'); diff --git a/app/static/public/pages/video.html b/app/static/public/pages/video.html index a0c8b79..0ffed0e 100644 --- a/app/static/public/pages/video.html +++ b/app/static/public/pages/video.html @@ -274,7 +274,7 @@ - +