我需要合并两个视频文件与他们相应的音频。我尝试使用:http://www.raywenderlich.com/13418/how-to-play-record-edit-videos-in-ios
这些视频被合并了,但是它们的音频丢失了。就像一段无声的视频。我需要音频也要合并。我也在谷歌上搜索过,找不到有用的东西。有人能帮我一下吗..。
发布于 2014-03-28 15:28:46
实时编辑音频就像实时编辑视频。回到每一部电影,拿出音轨,并把它粘在你可变的构图中。
在这个例子中,我获取电影中的前5秒视频和最后5秒视频,并将它们一个接一个地放到一个新视频中:
NSString* type = AVMediaTypeVideo;
NSArray* arr = [oldAsset tracksWithMediaType:type];
AVAssetTrack* track = [arr lastObject];
CMTime duration = track.timeRange.duration;
AVMutableComposition* comp = [AVMutableComposition composition];
AVMutableCompositionTrack* comptrack = [comp addMutableTrackWithMediaType:type preferredTrackID:kCMPersistentTrackID_Invalid];
[comptrack insertTimeRange:CMTimeRangeMake(CMTimeMakeWithSeconds(0,600), CMTimeMakeWithSeconds(5,600)) ofTrack:track atTime:CMTimeMakeWithSeconds(0,600) error:nil];
[comptrack insertTimeRange:CMTimeRangeMake(CMTimeSubtract(duration, CMTimeMakeWithSeconds(5,600)), CMTimeMakeWithSeconds(5,600)) ofTrack:track atTime:CMTimeMakeWithSeconds(5,600) error:nil];
但由此产生的视频将是无声的。因此,我还返回并获取相应的音频:
type = AVMediaTypeAudio;
arr = [oldAsset tracksWithMediaType:type];
track = [arr lastObject];
comptrack = [comp addMutableTrackWithMediaType:type preferredTrackID:kCMPersistentTrackID_Invalid];
[comptrack insertTimeRange:CMTimeRangeMake(CMTimeMakeWithSeconds(0,600), CMTimeMakeWithSeconds(5,600)) ofTrack:track atTime:CMTimeMakeWithSeconds(0,600) error:nil];
[comptrack insertTimeRange:CMTimeRangeMake(CMTimeSubtract(duration, CMTimeMakeWithSeconds(5,600)), CMTimeMakeWithSeconds(5,600)) ofTrack:track atTime:CMTimeMakeWithSeconds(5,600) error:nil];
https://stackoverflow.com/questions/22715881
复制相似问题