# PPT 媒体导出经验总结 更新日期:2026-04-27 ## 背景 PPT 导出不能只把画布里的图片、文本和形状转成静态元素。画布里的视频通常是“图片元素 + `#video` / `isVideo` 元数据”,音频可能是 `type: 'audio'` 节点,也可能是旧版音频图片卡。如果导出器只按普通图片分支处理,这些媒体要么被跳过,要么只剩一个不可播放的卡片。 这类问题的原则是:小媒体尽量嵌入,大媒体可见降级,失败不能静默消失。 ## 经验原则 1. 媒体识别要在普通图片分支之前。 - 视频元素经常仍是 `type: 'image'`。 - 识别信号包括 `isVideo`、`videoType`、`#video`、`#merged-video` 和视频扩展名。 - 音频要同时兼容新音频节点和 legacy 音频图片卡。 2. 嵌入前必须做大小保护。 - 默认单媒体上限保持 50MB。 - 先看 `content-length`,再流式读取并累计大小。 - 超限只降级当前元素,不中断整套 PPT 导出。 3. `addMedia` 需要可看的封面。 - PowerPoint 默认媒体封面容易变成灰色播放块。 - 视频优先使用 `poster` / `previewImageUrl` / `thumbnail`。 - 没有封面时,视频尝试用 `