Лучшая настройка для записи звука - PullRequest
1 голос
/ 24 октября 2010

Какие настройки рекордера лучше всего подходят для записи голоса? Что я должен заменить на «?» в коде ниже?

recordSetting = [[NSMutableDictionary alloc] init];

[recordSetting setValue :[NSNumber numberWithInt:?] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:?] forKey:AVSampleRateKey]; 
[recordSetting setValue:[NSNumber numberWithInt: ?] forKey:AVNumberOfChannelsKey];
[recordSetting setValue :[NSNumber numberWithInt:?] forKey:AVLinearPCMBitDepthKey];
[recordSetting setValue :[NSNumber numberWithBool:?] forKey:AVLinearPCMIsBigEndianKey];
[recordSetting setValue :[NSNumber numberWithBool:?] forKey:AVLinearPCMIsFloatKey];

1 Ответ

2 голосов
/ 24 октября 2010

это должно быть хорошей отправной точкой для речи, учитывая аппаратное обеспечение (так как это помечено 'iphone', я предполагаю, что это источник).

[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:12000.0f] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt:1 /* mono */ ] forKey:AVNumberOfChannelsKey];
[recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSetting setValue:[NSNumber numberWithBool:NX_BigEndian == NXHostByteOrder()] forKey:AVLinearPCMIsBigEndianKey];
[recordSetting setValue:[NSNumber numberWithBool:0] forKey:AVLinearPCMIsFloatKey];

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

если у вас есть длинные записи, то вы можете захотеть записать в сжатый формат (иначе я бы избегал этого, потому что требования к ресурсам выше).

как таковые, они могут быть не лучшими для конкретного применения, но с хорошим балансом между размером, скоростью и качеством.

...