我现在正面临一个关键问题 我问这个,因为我无法通过谷歌搜索找到解决方案。 我正在使用AVAsset文件处理输入/输出音频。但是,当我测试时,iOS8中没有问题 但是在iOS9中,有时候视频停止时只播放音频。 在视频停止时取出文件时没有问题。 当我播放原始AVAsset文件时,不会出现此问题,但如果我通过下面的代码创建AVAsset文件并播放,则会出现上述错误。 我需要解决这个问题,但我找不到任何解决方案。请帮忙。
AVAsset *asset = _recordSession.assetRepresentingSegments;
AVMutableComposition *mixComposition = [AVMutableComposition composition];
AVMutableCompositionTrack *compositionVideoTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
NSError *error;
AVAssetTrack *video = [[asset tracksWithMediaType:AVMediaTypeVideo] firstObject];
[compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:video atTime:kCMTimeZero error:&error];
if (error != noErr) {
NSLog(@"compositionVideoTrack error = %@", error);
}
if ([asset tracksWithMediaType:AVMediaTypeAudio].count > 0) {
AVMutableCompositionTrack *audioTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
AVAssetTrack *audio = [[asset tracksWithMediaType:AVMediaTypeAudio] firstObject];
[audioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:audio atTime:kCMTimeZero error:&error];
if (error != noErr) {
NSLog(@"audioTrack error = %@", error);
}
}
AVAsset *playAsset;
playAsset = mixComposition;