Как я могу сравнить два аудиофайла на основе определенного параметра, скажем, максимального децибела? - PullRequest
1 голос
/ 08 сентября 2010

Я пытаюсь сравнить два файла .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];

Спасибо за помощь!

1 Ответ

1 голос
/ 08 сентября 2010

Чтобы получить длительность файлов, используйте следующий код:

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError* error;
NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:filePath error&error];

NSInteger duration = fileAttributes.fileAttributes / sampleRare / numberOfChannels / bytesPerSample;

Чтобы получить максимальные децибелы, вам придется анализировать содержимое файла.

...