我试图根据一些参数比较两个.caf文件,比如最大分贝或文件持续时间。我使用AVAudioRecorder类使用以下设置记录了这两个文件:
NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
感谢您的帮助!
答案 0 :(得分:1)
要获取以下代码的文件持续时间:
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError* error;
NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:filePath error&error];
NSInteger duration = fileAttributes.fileAttributes / sampleRare / numberOfChannels / bytesPerSample;
要获得最大分贝,您必须分析文件内容。