|
@@ -2385,14 +2385,24 @@ function handleEpisodeContent($originalContent) {
|
|
|
$result['roles'][] = $roleData;
|
|
$result['roles'][] = $roleData;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // 加入旁白角色
|
|
|
|
|
- $result['roles'][] = [
|
|
|
|
|
- 'role' => '旁白',
|
|
|
|
|
- 'description' => '负责叙述剧情、补充说明和情感渲染的非视觉角色。',
|
|
|
|
|
- 'voice_name' => '旁白',
|
|
|
|
|
- 'voice_type' => 'zh_male_linjiananhai_moon_bigtts',
|
|
|
|
|
- 'voice_audio_url' => 'https://zw-audiobook.tos-cn-beijing.volces.com/demonstrate/zh_male_linjiananhai_moon_bigtts.wav'
|
|
|
|
|
- ];
|
|
|
|
|
|
|
+ // 加入旁白角色(如果不存在)
|
|
|
|
|
+ $hasNarrator = false;
|
|
|
|
|
+ foreach ($result['roles'] as $role) {
|
|
|
|
|
+ if (isset($role['role']) && $role['role'] === '旁白') {
|
|
|
|
|
+ $hasNarrator = true;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (!$hasNarrator) {
|
|
|
|
|
+ $result['roles'][] = [
|
|
|
|
|
+ 'role' => '旁白',
|
|
|
|
|
+ 'description' => '负责叙述剧情、补充说明和情感渲染的非视觉角色。',
|
|
|
|
|
+ 'voice_name' => '旁白',
|
|
|
|
|
+ 'voice_type' => 'zh_male_linjiananhai_moon_bigtts',
|
|
|
|
|
+ 'voice_audio_url' => 'https://zw-audiobook.tos-cn-beijing.volces.com/demonstrate/zh_male_linjiananhai_moon_bigtts.wav'
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 提取场景列表 - 兼容多种格式
|
|
// 提取场景列表 - 兼容多种格式
|