feat(audio): 添加全局音频淡入淡出功能

- 在 Task 类中新增 get_global_audio_fade_in_ms 和 get_global_audio_fade_out_ms 方法
- 修改 prepare_audio.py 中的音频混音逻辑,支持全局淡入淡出参数
- 新增 _build_global_fade_filters 静态方法构建全局淡入淡出滤镜
- 更新音频混音命令构建逻辑,支持在混音后应用全局淡入淡出效果
- 为无BGM和仅BGM的情况添加全局淡入淡出滤镜支持
- 在amix混音后追加全局淡入淡出滤镜,与片段级音频效果独立处理
This commit is contained in:
2026-02-11 11:53:34 +08:00
parent 952b8f5c01
commit c2ece02ecf
2 changed files with 82 additions and 6 deletions

View File

@@ -541,6 +541,14 @@ class Task:
"""获取片段列表"""
return self.payload.get('segments', [])
def get_global_audio_fade_in_ms(self) -> int:
"""获取全局音频淡入时长(毫秒),0 表示不淡入"""
return int(self.payload.get('globalAudioFadeInMs', 0))
def get_global_audio_fade_out_ms(self) -> int:
"""获取全局音频淡出时长(毫秒),0 表示不淡出"""
return int(self.payload.get('globalAudioFadeOutMs', 0))
def get_audio_profile(self) -> AudioProfile:
"""获取音频配置"""
return AudioProfile.from_dict(self.payload.get('audioProfile'))