“手动同步脚本”虽然让你的电脑在渲染时发出了声音,但 Manim 默认不会把电脑音箱传出的声音录进视频文件里。
要让视频文件自带语音,必须先将语音保存为文件,然后通过 Manim 的self.add_sound()命令加载进去。
既然manim-voiceover插件在你的环境下一直因为 SoX 或缓存问题报错,我们直接用最底层的pyttsx3手动生成音频文件并合成。这是最稳妥、绝不会报错的方法。
完美解决:带语音的离线合成脚本
请直接运行这个脚本。它会自动在当前目录下创建一个temp_audio文件夹,把每一段话转成 MP3,然后合成到视频里。
优化脚本(预生成音频)为了防止pyttsx3引擎在渲染循环中反复启动导致变慢,我们可以把音频生成放在最前面,一次性搞定。
from manim import * import pyttsx3 import os class SafePresenter(Scene): def construct(self): # ===== 1. 预生成所有音频 (放在开头最稳) ===== content = [ ["今天我们来聊聊如何定位 CE 解锁中断的