如果使用的AVAssetExportSession只支持合成m4a文件,其他的各種庫也都是從caf、pcm合成的
所以這里使用數據流的形式把MP3文件轉成NSData,然后再進行拼合。
//音頻文件路徑
NSString *mp3Path1 = [[NSBundle mainBundle] pathForResource:@"mouse" ofType:@"mp3"];
NSString *mp3Path2 = [[NSBundle mainBundle] pathForResource:@"large" ofType:@"mp3"];
NSString *mp3Path3 = [[NSBundle mainBundle] pathForResource:@"strong" ofType:@"mp3"];
//音頻數據
NSData *sound1Data = [[NSData alloc] initWithContentsOfFile: mp3Path1];
NSData *sound2Data = [[NSData alloc] initWithContentsOfFile: mp3Path2];
NSData *sound3Data = [[NSData alloc] initWithContentsOfFile: mp3Path3];
//合并音頻
NSMutableData *sounds = [NSMutableData alloc];
[sounds appendData:sound1Data];
[sounds appendData:sound2Data];
[sounds appendData:sound3Data];
//保存音頻
NSLog(@"data length:%d", [sounds length]);
[sounds writeToFile:[self filePathWithName:@"tmp.mp3"] atomically:YES];