版本
main 源码,commit 320c07f
平台 / 功能
macOS Apple Silicon;AI Agent 对话剪辑 / 素材池 / 音乐分析。
问题描述
Agent 通过 add_audio 把内置音乐或项目音频加入时间线时,只创建了带 src 的 timeline item,没有确保媒体池存在 canonical audio asset,也没有写入 sourceAssetId。之后按 itemId 调用 analyze_music 无法解析唯一素材。与 #55 的本地路径/卡点问题相关,但这里是 add_audio 自身生成了未关联片段。
复现步骤
- 调用
list_audio,选择内置音乐(例如 aud_pulse)。
- 调用
add_audio 放入音频轨。
- 对返回的 timeline item 调用
analyze_music。
- 收到:
clip ... is not linked to a unique media-pool asset; relink it before music analysis。
期望行为
所有由 add_audio 创建的片段都应关联唯一媒体池资产,后续分析、重连、持久化和使用状态检查使用同一 identity。
实际行为
片段只有 src,sourceAssetId 为空;内置音频甚至可能完全没有注册进 doc.assets。
根因定位
buildCommands().addAudio 直接构造 timeline item,而没有执行 media-pool 注册/去重及 source identity 投影。
建议修复
- 先按 exact id+src 或唯一同源 asset 复用媒体池记录。
- 内置音频不存在时原子
addAsset。
- timeline item 写入
sourceAssetId、sourceRevision、content hash/filename 等来源字段。
- addAsset 与 add item 使用同一 batch,避免半完成状态。
- 添加项目音频和内置音频两条回归测试。
本地验证
修复后实际调用 analyze_music 成功,返回 120 BPM、38 beats、25 downbeats、2 sections;媒体池显示该音频正在时间线中使用。
版本
main 源码,commit
320c07f平台 / 功能
macOS Apple Silicon;AI Agent 对话剪辑 / 素材池 / 音乐分析。
问题描述
Agent 通过
add_audio把内置音乐或项目音频加入时间线时,只创建了带src的 timeline item,没有确保媒体池存在 canonical audio asset,也没有写入sourceAssetId。之后按 itemId 调用analyze_music无法解析唯一素材。与 #55 的本地路径/卡点问题相关,但这里是add_audio自身生成了未关联片段。复现步骤
list_audio,选择内置音乐(例如aud_pulse)。add_audio放入音频轨。analyze_music。clip ... is not linked to a unique media-pool asset; relink it before music analysis。期望行为
所有由
add_audio创建的片段都应关联唯一媒体池资产,后续分析、重连、持久化和使用状态检查使用同一 identity。实际行为
片段只有
src,sourceAssetId为空;内置音频甚至可能完全没有注册进doc.assets。根因定位
buildCommands().addAudio直接构造 timeline item,而没有执行 media-pool 注册/去重及 source identity 投影。建议修复
addAsset。sourceAssetId、sourceRevision、content hash/filename 等来源字段。本地验证
修复后实际调用
analyze_music成功,返回 120 BPM、38 beats、25 downbeats、2 sections;媒体池显示该音频正在时间线中使用。