auto-save 2026-05-14 10:59 (~6)
This commit is contained in:
@@ -390,31 +390,27 @@ export default function Home() {
|
||||
if (!targetId) return
|
||||
const target = jobs.find((item) => item.id === targetId)
|
||||
if (!target) return
|
||||
if (!["frames_extracted", "transcribed", "failed"].includes(target.status)) {
|
||||
if (!options?.silent) toast.info("先完成抽帧,音频轨会自动开始处理")
|
||||
if (!target.video_url) {
|
||||
if (!options?.silent) toast.info("视频导入完成后,可在音频卡片点击提取音频")
|
||||
return
|
||||
}
|
||||
if (target.status === "splitting") {
|
||||
if (!options?.silent) toast.info("当前正在抽帧,结束后可重新点击提取音频")
|
||||
return
|
||||
}
|
||||
if (target.status === "transcribing" || target.audio_script?.status === "rewriting") {
|
||||
if (!options?.silent) toast.info("音频正在处理中")
|
||||
return
|
||||
}
|
||||
try {
|
||||
const updated = await triggerTranscribe(targetId)
|
||||
updateJobInList(updated)
|
||||
if (!options?.silent) toast.success("音频处理已开始")
|
||||
if (!options?.silent) toast.success("已开始提取音频")
|
||||
} catch (e) {
|
||||
if (!options?.silent) toast.error("音频处理启动失败:" + (e instanceof Error ? e.message : String(e)))
|
||||
}
|
||||
}, [activeJobId, jobs, updateJobInList])
|
||||
|
||||
const autoAudioStartedRef = useRef<Set<string>>(new Set())
|
||||
useEffect(() => {
|
||||
for (const item of jobs) {
|
||||
const audioStatus = item.audio_script?.status ?? "idle"
|
||||
const hasAudioOutput = item.transcript.length > 0 || !!item.audio_script?.rewritten_text
|
||||
const ready = item.status === "frames_extracted" && !hasAudioOutput && audioStatus !== "rewriting"
|
||||
if (!ready || autoAudioStartedRef.current.has(item.id)) continue
|
||||
autoAudioStartedRef.current.add(item.id)
|
||||
void handleTranscribeAudio(item.id, { silent: true })
|
||||
}
|
||||
}, [jobs, handleTranscribeAudio])
|
||||
|
||||
const handleQuickGenerateVideo = useCallback(async (frameIdx: number, scene: StoryboardScene, model: string) => {
|
||||
if (!job) return
|
||||
const frame = job.frames.find((f) => f.index === frameIdx)
|
||||
|
||||
Reference in New Issue
Block a user