我有一个AVAudioRecorder,它被初始化为:
_recorder = [AVAudioRecorder alloc];
NSMutableDictionary *recordSettings = [[[NSMutableDictionary alloc] initWithCapacity:2] autorelease];
[recordSettings setObject:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithInt:AVAudioQualityLow] forKey: AVEncoderAudioQualityKey];
NSURL *url = [NSURL fileURLWithPath:[self getActualSoundPath]];
[_recorder initWithURL:url settings:recordSettings error:nil];
[_recorder setDelegate:self];
此代码在我的模拟器和我的iPhone 3GS上完美运行,但在较旧的iPhone 3G上却没有...
有什么问题?
由于 马库斯
答案 0 :(得分:6)
iPhone 3G并不支持3GS / 4 / 4S等硬件AAC编码。你可以使用线性PCM,但那不是压缩的。
请参阅此主题以获取支持的格式:How can I record AMR audio format on the iPhone?
Apple无损(kAudioFormatAppleLossless)和iLBC(kAudioFormatiLBC)似乎在iPhone 3G上运行良好。
建议使用kAudioFormatAppleIMA4,但移动Safari无法识别它。/马库斯