KAudioFormatDVIIntelIMA действительно поддерживается на iOS?
Согласно Обзору Технологии iOS предположительно поддерживается формат DVI/Intel IMA ADPCM. В частности, есть раздел, который указывает:
iOS поддерживает множество отраслевых и специфичных для Apple аудиоформатов, включая следующие:
AAC
Apple Lossless (ALAC)
Закон
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).