refactor(kling): 优化时长匹配逻辑,使用固定阈值替代比例计算

This commit is contained in:
2026-04-09 00:32:55 +08:00
parent c141d895db
commit 155f31121f
2 changed files with 5 additions and 2 deletions

View File

@@ -135,10 +135,13 @@ const isExceed = computed(() => props.audioDurationMs > props.faceDurationMs)
const diffMs = computed(() => Math.abs(props.audioDurationMs - props.faceDurationMs)) const diffMs = computed(() => Math.abs(props.audioDurationMs - props.faceDurationMs))
/** 时长差异阈值3秒内视为匹配 */
const MATCH_THRESHOLD_MS = 3000
const diffStatus = computed(() => { const diffStatus = computed(() => {
if (props.audioDurationMs === 0) return 'none' if (props.audioDurationMs === 0) return 'none'
if (props.audioDurationMs > props.faceDurationMs) return 'exceed' if (props.audioDurationMs > props.faceDurationMs) return 'exceed'
if (props.audioDurationMs < props.faceDurationMs * 0.5) return 'short' if (props.faceDurationMs - props.audioDurationMs > MATCH_THRESHOLD_MS) return 'short'
return 'match' return 'match'
}) })

View File

@@ -156,7 +156,7 @@ export const useDigitalHumanStore = defineStore('digitalHuman', () => {
if (!timeline.value || timeline.value.audioDurationMs === 0) return 'none' if (!timeline.value || timeline.value.audioDurationMs === 0) return 'none'
const { videoDurationMs, audioDurationMs } = timeline.value const { videoDurationMs, audioDurationMs } = timeline.value
if (audioDurationMs > videoDurationMs) return 'exceed' if (audioDurationMs > videoDurationMs) return 'exceed'
if (audioDurationMs < videoDurationMs * 0.3) return 'too-short' if (videoDurationMs - audioDurationMs > 3000) return 'too-short'
return 'match' return 'match'
}) })