我使用AVAudioRecorder
录制声音,输出文件格式为.caf
。然后我使用.caf
在我录制的音频上添加背景声音(也是AVMutableComposition
格式)。当我尝试播放它时它非常有效。
现在我想导出它并使用以下代码保存它。但是,导出文件的文件大小增加了很多。 (例如,我录制的音频为16045byte,背景声音为50400byte,导出的文件为246472byte,大于两个文件的总和。)
AVAssetExportSession *export = [[AVAssetExportSession alloc] initWithAsset:composition presetName:AVAssetExportPresetAppleM4A];
export.audioMix = audioMix;
export.outputFileType = AVFileTypeAppleM4A;
NSString *exportURL = [NSString stringWithFormat:@"%@/export.m4a", DOCUMENTS_FOLDER];
NSURL *outputURL = [NSURL fileURLWithPath:exportURL];
export.outputURL = outputURL;
[export exportAsynchronouslyWithCompletionHandler:^{
int exportStatus = export.status;
switch (exportStatus) {
// check the status and do the handling
}
}];
}
那么,有人可以教我如何使输出音频文件变小吗?感谢。
答案 0 :(得分:0)
在此处阅读有关fileTypes的更多信息:
NSString *const AVFileTypeAIFC;
NSString *const AVFileTypeAIFF;
NSString *const AVFileTypeAMR;
NSString *const AVFileTypeCoreAudioFormat;
NSString *const AVFileTypeAppleM4V;
NSString *const AVFileTypeMPEG4;
NSString *const AVFileTypeAppleM4A;
NSString *const AVFileTypeQuickTimeMovie;
NSString *const AVFileTypeWAVE
AIFC可能对您有意义,因为它已被压缩。
您还必须将presetName:AVAssetExportPresetAppleM4A更新为presetName:AVAssetExportPresetPassthrough