0

我正在导出带有 video.mp4 视频的 audio.caf 音频文件并创建一个新的 output.mp4 组合。它在 iOS 5.0 上运行良好,但在 iPhone4 4.2.1 上,合成不播放音频。

NSURL *outputURL = [NSURL fileURLWithPath:outputPath];
AVAssetExportSession* _assetExport = [[AVAssetExportSession alloc] initWithAsset:mixComposition presetName:AVAssetExportPresetMediumQuality];
_assetExport.outputFileType = AVFileTypeQuickTimeMovie;
_assetExport.outputURL = outputURL;
_assetExport.timeRange = CMTimeRangeMake(CMTimeMakeWithSeconds(0.25, 600), videoAsset.duration);
_assetExport.shouldOptimizeForNetworkUse = YES;

[_assetExport exportAsynchronouslyWithCompletionHandler:^{

我检查了这部iphone中的原始曲目,两者都可以,只是作曲没有添加音频。

这就是我将音轨添加到作品中的方式:

NSURL *audioURL = [NSURL fileURLWithPath:audioPath];
AVURLAsset* audioAsset = [[AVURLAsset alloc]initWithURL:audioURL options:nil];
CMTimeRange audio_timeRange = CMTimeRangeMake(CMTimeMake(startRecording_,1), 
                                              audioAsset.duration);

AVMutableCompositionTrack *b_compositionAudioTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];

[b_compositionAudioTrack insertTimeRange:audio_timeRange ofTrack:[[audioAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0] atTime:kCMTimeZero error:&error];

它适用于许多 iOS5 设备:S

提前致谢!

4

2 回答 2

0

我将音频更改为 .m4a 音频,现在可以使用了!

于 2012-02-17T15:07:32.230 回答
0

我发现我需要将文件扩展名更改为“mov”,然后进行导出(我使用 PassThrough 预设),然后将其更改回 mp3(在我的情况下)。好像是个bug....

于 2012-03-19T09:04:07.597 回答