fix: fit generated videos to any aspect ratio

This commit is contained in:
xuejianwu
2026-07-30 09:52:39 +08:00
parent e111833df6
commit f9869601a3
3 changed files with 14 additions and 5 deletions

View File

@@ -1504,15 +1504,20 @@ function renderCompletedVideo(videoUrl, mock) {
if (videoUrl) {
const video = document.createElement("video");
video.controls = true;
video.playsInline = true;
video.preload = "metadata";
video.src = videoUrl;
el.videoStage.classList.add("has-video");
el.videoStage.replaceChildren(video);
} else {
el.videoStage.classList.remove("has-video");
el.videoStage.innerHTML = `<div class="mock-frame"><div class="mock-person"></div><strong>${mock ? "Mock 流程已完成" : "任务已完成"}</strong><span>${mock ? "输入客户令牌后此处展示真实视频" : "接口响应中未识别到视频 URL请稍后重试"}</span></div>`;
}
updateProgress(100, "视频生成完成");
}
function renderGenerationError(message) {
el.videoStage.classList.remove("has-video");
const wrapper = document.createElement("div");
wrapper.className = "generation-error";
const title = document.createElement("strong");
@@ -1533,7 +1538,10 @@ function contextualizeGenerationError(message) {
return `${label}在视频接口中不存在。通常表示素材已失效、尚未同步,或不属于当前客户令牌。素材 ID${assetMatch[0]}`;
}
function resetVideoStage() { el.videoStage.innerHTML = '<div class="mock-frame"><div class="mock-person"></div><span>Seedance 2 正在生成镜头…</span></div>'; }
function resetVideoStage() {
el.videoStage.classList.remove("has-video");
el.videoStage.innerHTML = '<div class="mock-frame"><div class="mock-person"></div><span>Seedance 2 正在生成镜头…</span></div>';
}
function updateProgress(value, title) {
const safe = Math.max(0, Math.min(100, Number(value) || 0));
el.generationTitle.textContent = title;