Файл AVAudioRecorder слишком большой - PullRequest
1 голос
/ 19 июня 2011

Я записываю аудио, используя AVAudioRecorder, и файл слишком велик.Как 20 секунд, получается 1,2 Мб?Как я могу сделать его меньше?Спасибо.

Ответы [ 3 ]

7 голосов
/ 09 ноября 2011

Это лучший способ, который я нашел, вы также можете использовать его:

NSMutableDictionary *settings = [[NSMutableDictionary alloc] initWithCapacity:0];

[settings setValue :[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];//格式
[settings setValue:[NSNumber numberWithFloat:8000.0] forKey:AVSampleRateKey]; //采样8000次
[settings setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];//声道
[settings setValue :[NSNumber numberWithInt:8] forKey:AVLinearPCMBitDepthKey];//位深度
[settings setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[settings setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
//Encoder
[settings setValue :[NSNumber numberWithInt:12000] forKey:AVEncoderBitRateKey];//采样率
[settings setValue :[NSNumber numberWithInt:8] forKey:AVEncoderBitDepthHintKey];//位深度
[settings setValue :[NSNumber numberWithInt:8] forKey:AVEncoderBitRatePerChannelKey];//声道采样率
[settings setValue :AVAudioQualityMin           forKey:AVEncoderAudioQualityKey];//编码质量
3 голосов
/ 20 июня 2011

Попробуйте использовать другой формат и / или настройку качества.Примерно так должен быть довольно маленький файл:

NSDictionary *recordSettings =
    [[NSDictionary alloc] initWithObjectsAndKeys:
     [NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
     [NSNumber numberWithInt: kAudioFormatAppleIMA4], AVFormatIDKey,
     [NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
     [NSNumber numberWithInt: AVAudioQualityMedium],
     AVEncoderAudioQualityKey,
     nil];

    AVAudioRecorder *newRecorder =
    [[AVAudioRecorder alloc] initWithURL: myURL
                                settings: recordSettings
                                   error: nil];
1 голос
/ 29 марта 2012

Размер записанного аудиофайла зависит от следующих факторов.Есть и другие факторы.Но стоит отметить следующее.1) Частота дискретизации Частота дискретизации 22050 Гц даст намного меньший файл, чем частота дискретизации 44000 Гц2) Каналы Выход стерео (2 канала) будет в два раза больше файла моно (1 канал)3) Битрейт Биты, используемые для каждой пробы.

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

...