【原创非首发,首发今日头条,文责自负】
小说推文,一般包含图片,文字(字幕),配音,BGM,有的可能还有什么提示音之类的
剪映内容如下
我们可以在全局设置里面找到剪映草稿的目录
下面就是剪映的草稿
用软件导出剪映草稿,只需要两个文件就可以了
draft_content.json、draft_meta_info.json
draft_content.json是主要文件,包含了我们的图片,文字(字幕),配音,BGM,
我们要操作的就是这个JSON里面的
materials里面的canvases,sound_channel_mappings,speeds,videos,vocal_separations,然后是tracks里面的segments
这是添加一张图片的代码,从代码中我们可以看出,每添加一张图片,canvases,sound_channel_mappings,speeds,videos,vocal_separations都会添加一个对象,而我们看到参数传进来一个TracksItem,这个TracksItem就是对应剪映里面一行,比如图片是以后,配音是一行,那么图片是一个TracksItem对象,配音是另外一个TracksItem对象
这说下,videosItem就是图片对象,图片对象的Id对应的是SegmentsItem对象的material_id,而其余几个对象的Id放在extra_material_refs里面
最后的ValueItem,是添加到draft_meta_info.json的,这个文件里面有个draft_materials数组,添加到第一个节点即可
同理,我们看下添加配音,BGM
其实代码和上面差不多,只不过TracksItem对象,就换成了配音的TracksItem或者是BGM的TracksItem,然后添加配音操作的对象有点不一样
操作的是materials里面的audios,speeds,beats,sound_channel_mappings,vocal_separations,同样也是要把Id对应上
添加字幕就简单一点
只需要操作materials的texts和material_animations对象
至于音频,图片,字幕怎么让其在轨道上对应齐,就是通过计算时间,每段配音都有时长,那我们可以让图片的时长和配音一致就可以了,至于文字,可以计算每个文字在这段配音中的时长占比,来计算文字的时间
好了,以上就是用C#代码导出剪映草稿的一些资料分享,希望对你有帮助。
网友评论