auto-save 2026-05-14 10:59 (~6)
This commit is contained in:
@@ -2109,7 +2109,19 @@ export function AudioNode({ data, selected }: any) {
|
||||
const voiceUrl = apiAssetUrl(audioScript?.voice_url)
|
||||
const hasASR = transcript.length > 0
|
||||
const isRewriting = audioScript?.status === "rewriting"
|
||||
const canTriggerAudio = !!job && ["frames_extracted", "transcribed", "failed"].includes(job.status) && !isRewriting && job.status !== "transcribing"
|
||||
const hasVideo = !!job?.video_url
|
||||
const isAudioBusy = !!job && (job.status === "transcribing" || isRewriting)
|
||||
const isVisualBusy = !!job && job.status === "splitting"
|
||||
const audioButtonDisabled = !job || !hasVideo || isAudioBusy || isVisualBusy
|
||||
const audioButtonLabel = !hasVideo
|
||||
? "等待视频就绪"
|
||||
: isAudioBusy
|
||||
? "正在提取音频"
|
||||
: isVisualBusy
|
||||
? "抽帧中,稍后提取"
|
||||
: hasASR || rewrittenText
|
||||
? "重新提取音频"
|
||||
: "提取音频"
|
||||
const originalPreview = transcript
|
||||
.slice(0, 2)
|
||||
.map((s) => (s.zh || s.en).trim())
|
||||
@@ -2139,17 +2151,25 @@ export function AudioNode({ data, selected }: any) {
|
||||
{audioScript?.rewrite_model || "AUDIO_REWRITE_MODEL"} → {audioScript?.voice_model || "MiniMax T2A"}
|
||||
</span>
|
||||
</div>
|
||||
{canTriggerAudio && (
|
||||
{job && (
|
||||
<button
|
||||
type="button"
|
||||
disabled={audioButtonDisabled}
|
||||
onClick={(e) => {
|
||||
e.stopPropagation()
|
||||
if (audioButtonDisabled) return
|
||||
void d.onTranscribeAudio?.(job.id)
|
||||
}}
|
||||
className="inline-flex min-h-8 w-full items-center justify-center gap-1.5 rounded-md border border-violet-300/25 bg-violet-400/10 px-2.5 py-1.5 text-[11px] font-medium text-[var(--text-strong)] transition hover:border-violet-200/45 hover:bg-violet-400/18"
|
||||
className="inline-flex min-h-8 w-full items-center justify-center gap-1.5 rounded-md border border-violet-300/25 bg-violet-400/10 px-2.5 py-1.5 text-[11px] font-medium text-[var(--text-strong)] transition hover:border-violet-200/45 hover:bg-violet-400/18 disabled:cursor-not-allowed disabled:border-white/10 disabled:bg-white/[0.03] disabled:text-[var(--text-faint)]"
|
||||
>
|
||||
{hasASR || rewrittenText ? <RotateCcw className="h-3.5 w-3.5" /> : <PlayCircle className="h-3.5 w-3.5" />}
|
||||
{hasASR || rewrittenText ? "重新处理音频" : "开始音频处理"}
|
||||
{isAudioBusy ? (
|
||||
<Loader2 className="h-3.5 w-3.5 animate-spin" />
|
||||
) : hasASR || rewrittenText ? (
|
||||
<RotateCcw className="h-3.5 w-3.5" />
|
||||
) : (
|
||||
<PlayCircle className="h-3.5 w-3.5" />
|
||||
)}
|
||||
{audioButtonLabel}
|
||||
</button>
|
||||
)}
|
||||
{(originalPreview || rewrittenText) && (
|
||||
|
||||
Reference in New Issue
Block a user