我正在使用AVMutableVideoComposition
添加视频和音频。
我有多个视频和音频文件,我将它们拼接在一起,基本上可以正常工作。
我正在使用此代码添加音频:
AVURLAsset *audioAsset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:path] options:nil];
[compositionAudioTrack insertTimeRange:titleRange
ofTrack:[audioAsset tracksWithMediaType:AVMediaTypeAudio][0]
atTime:partZeroTime
error:&err];
路径正确(使用NSLog检查),partZeroTime是每个音轨的插入点(音频只在视频开头播放)。音频文件总是相同的(一些 m4a 文件)。
不过,这只适用于第一个音频。不会播放所有后续音频。我没有收到添加音频资产的错误。
我还尝试为音乐创建单独的轨道,结果相同。
有任何想法吗?
[编辑]
我可能不完全清楚我想要做什么,所以这里有更多信息:我有几个剪辑的视频合成,我用 AVMutableComposition 拼接在一起。它包含一个介绍(我尝试在其中添加音乐),然后是 1 或 2 个剪辑,另一个介绍(带音乐),然后是更多视频。我为音乐添加了一个单独的轨道,所以它看起来像--music--silence--music--silence。
我尝试添加静音,insertEmptyTimerange
但这基本上把一切都搞砸了。然后我使用insertTimeRange:tr ofTrack:nil
... 这给了我与以前相同的结果:播放第一个音乐剪辑,但后面的每个剪辑都不会...
我正在为此拔头发...