根据iOS Technology Overview,据称支持DVI / Intel IMA ADPCM格式。具体来说,有一节表明:
iOS支持许多行业标准和Apple特定的音频格式,包括以下内容:
AAC
Apple Lossless(ALAC)
A律
IMA / ADPCM(IMA4)
线性PCM
μ律
DVI / Intel IMA ADPCM
Microsoft GSM 6.10
AES3-2003
但是,在尝试使用kAudioFormatDVIIntelIMA格式密钥时:
[[AVAudioSession sharedInstance]
setCategory: AVAudioSessionCategoryRecord
error: &error];
NSDictionary *recordSettings = @{
AVFormatIDKey : [NSNumber numberWithInt: kAudioFormatDVIIntelIMA],
AVSampleRateKey : [NSNumber numberWithFloat: 8000.0],
AVEncoderBitRateKey : [NSNumber numberWithInt:16],
AVNumberOfChannelsKey : [NSNumber numberWithInt:1]
};
NSError *error;
AVAudioRecorder *newRecorder =
[[AVAudioRecorder alloc] initWithURL: soundFileURL
settings: recordSettings
error: &error];
NSLog(@"Recorder Errors: %@", [error description]);
我收到错误:
Error Domain=NSOSStatusErrorDomain Code=1718449215 "The operation couldn’t be completed. (OSStatus error 1718449215.)
kAudioFormatUnsupportedDataFormatError为1718449215.那么是什么给出了?
(请注意,如果我将其更改为kAudioFormatAppleIMA4,上面的代码工作正常。所以似乎只支持IMA4 ADPCM,而不支持DVI / Intel IMA ADPCM。)