AVAudioRecorder en iOS 8 no maneja kAudioFormatMPEG4AAC

Mi código funcionó bien hasta iOS 8 kAudioFormatMPEG4AAC pero ahora crea un file vacío. No se informan errores. Cuando lo cambié a kAudioFormatLinearPCM funciona. Este es mi código:

 recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey, [NSNumber numberWithInt: kAudioFormatLinearPCM], AVFormatIDKey, [NSNumber numberWithInt:16], AVEncoderBitRateKey, [NSNumber numberWithInt: 1], AVNumberOfChannelsKey, [NSNumber numberWithFloat:32000.0], AVSampleRateKey, nil]; 

AVEncoderBitRateKey key AVEncoderBitRateKey del dictionary de configuration y funcionará en iOS8 con kAudioFormatMPEG4AAC .

Podría ser una correlación específica entre AVEncoderBitRateKey y AVNumberOfChannelsKey . Pero no jugué con los parameters, pero usé el valor pnetworkingeterminado de bitrate para get la grabadora en funcionamiento.

Esa tasa de bits parece sospechosamente baja, incluso para kAudioFormatMPEG4AAC (16 bytes por segundo), tal vez intente 16000 o 64000 o más.

ps intente con los nuevos literales de Objective-C para sus NSDictionarys , NSArrays y NSNumbers , creo que son una mejora:

 recordSettings = @{ AVEncoderAudioQualityKey : AVAudioQualityMin, AVFormatIDKey : @(kAudioFormatLinearPCM), AVEncoderBitRateKey : @16000, AVNumberOfChannelsKey : @1, AVSampleRateKey : @32000 };