Одна аудиодорожка с AVMutableComposition - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь объединить несколько звуковых дорожек для mov ie в одиночную дорожку. В настоящее время принятый способ сделать это с помощью AVMutableComposition - создать несколько звуковых дорожек. Но когда вы экспортируете видео таким образом, это видео имеет несколько звуковых дорожек, что делает его непригодным для загрузки на YouTube. Как вы объединяете эти звуковые дорожки в одну?

Текущий код:

// add audio 1
let compositionAudioTrack = mixComposition.addMutableTrack(withMediaType: .audio, preferredTrackID: kCMPersistentTrackID_Invalid)
let audioTimeRange = CMTimeRangeMake(start: CMTime.zero, duration: audioAsset.duration)
let audioTrack = audioAsset.tracks(withMediaType: .audio)[0]
try compositionAudioTrack?.insertTimeRange(audioTimeRange, of: audioTrack, at: CMTime.zero)

// add audio 2
let compositionAudioTrack2 = mixComposition.addMutableTrack(withMediaType: .audio, preferredTrackID: kCMPersistentTrackID_Invalid)
let audioTimeRange2 = CMTimeRangeMake(start: CMTime.zero, duration: audioAsset2.duration)
let audioTrack2 = audioAsset2.tracks(withMediaType: .audio)[0]
try compositionAudioTrack2?.insertTimeRange(audioTimeRange, of: audioTrack2, at: CMTime.zero)

Что создает видео с двумя дорожками (снимок экрана из Final Cut): введите описание изображения здесь

...