gpt4 book ai didi

swift - 使用 AVMutableComposition 将音轨合并到单个轨道中

转载 作者:行者123 更新时间:2023-11-30 10:30:03 27 4
gpt4 key购买 nike

我正在处理一个应用程序,它应该能够在单个电影文件(.mp4)中混合多个视频和音频剪辑。

目前,生成的影片有一个视频轨道(所有导入的视频剪辑的串联)和两个音频轨道,一个源自导入的视频剪辑,另一个源自导入的音频剪辑。

我想做的是合并这两个音轨,因为我希望生成的电影文件中只有一个音轨。虽然我们可以使用指令层技术并将多个视频轨道合并在一起,但我无法找到类似的音频。

我读到了有关音频混合对象的内容,但我认为它只混合来自两个轨道的音频。相反,我只想拥有一个。

显然,我尝试将视频的音频和简单音频添加到同一轨道,但生成的视频仍然是黑色的,这对我来说意味着 Assets 构建过程出了问题。当然,在同一时间范围插入不同的音频并不是一个好主意:-)

有什么建议吗?

最佳答案

好吧,我终于找到了解决方案。真正使用 AVMutableAudioMix 生成的电影文件只有一个音轨而不是两个。

编辑回答贾斯汀的评论,这是技巧:

        let audioMix = AVMutableAudioMix()
let vip = AVMutableAudioMixInputParameters(track: self.videoAudioTrack!)
vip.trackID = self.videoAudioTrack!.trackID
vip.setVolume(self.videoAudioMixerVolume, at: .zero)
let aip = AVMutableAudioMixInputParameters(track: self.audioTrack!)
aip.trackID = self.audioTrack!.trackID
aip.setVolume(self.audioMixerVolume, at: .zero)
audioMix.inputParameters = [vip, aip]
easset.audioMix = audioMix

其中videoAudioTrack是视频剪辑的音轨,而audioTrack是另一个简单的音轨。 eassetAVAssetExporterSession 对象。

关于swift - 使用 AVMutableComposition 将音轨合并到单个轨道中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59337501/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com