lh 2 周之前
父節點
當前提交
5a048e95be
共有 1 個文件被更改,包括 12 次插入 和 0 次删除
  1. 12 0
      app/Services/AIGeneration/AIVideoGenerationService.php

+ 12 - 0
app/Services/AIGeneration/AIVideoGenerationService.php

@@ -1863,6 +1863,10 @@ class AIVideoGenerationService
                 // 删除失败素材的标记,例如 <视频1>、<音频2> 等
                 $pattern = "/<{$tagName}{$failedIndex}>/u";
                 $fullPrompt = preg_replace($pattern, '', $fullPrompt);
+                // 音频标记被删后会留下"参考中的音色,为X配音"的残句,整行一并清理
+                if ($tagName === '音频') {
+                    $fullPrompt = preg_replace('/^参考中的音色,为[^\r\n]*配音[ \t]*\r?\n?/mu', '', $fullPrompt);
+                }
                 dLog('generate')->info("已从提示词中删除 <{$tagName}{$failedIndex}>");
             }
 
@@ -2476,6 +2480,10 @@ class AIVideoGenerationService
                 // 删除失败素材的标记,例如 <视频1>、<音频2> 等
                 $pattern = "/<{$tagName}{$failedIndex}>/u";
                 $fullPrompt = preg_replace($pattern, '', $fullPrompt);
+                // 音频标记被删后会留下"参考中的音色,为X配音"的残句,整行一并清理
+                if ($tagName === '音频') {
+                    $fullPrompt = preg_replace('/^参考中的音色,为[^\r\n]*配音[ \t]*\r?\n?/mu', '', $fullPrompt);
+                }
                 dLog('generate')->info("已从提示词中删除 <{$tagName}{$failedIndex}>");
             }
 
@@ -3538,6 +3546,10 @@ class AIVideoGenerationService
                 // 删除失败素材的标记,例如 <图片1>、<视频2> 等
                 $pattern = "/<{$tagName}{$failedIndex}>/u";
                 $fullPrompt = preg_replace($pattern, '', $fullPrompt);
+                // 音频标记被删后会留下"参考中的音色,为X配音"的残句,整行一并清理
+                if ($tagName === '音频') {
+                    $fullPrompt = preg_replace('/^参考中的音色,为[^\r\n]*配音[ \t]*\r?\n?/mu', '', $fullPrompt);
+                }
                 dLog('generate')->info("已从提示词中删除 <{$tagName}{$failedIndex}>");
             }