2010-11-23 2 views
26

Я создал приложение для iPhone, чтобы записать наш голос. Когда я пытаюсь записать, я получаю сообщение об ошибке в следующем выражении.Ошибка OSStatus 1718449215


recorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSetting error:&err]; 

Ошибка домена = NSOSStatusErrorDomain Код = 1718449215 "Операция не может быть завершена. (OSStatus ошибка 1718449215.)"

Если бы я попытался записать в .caf файл, он работает нормально. Если я попытался с .m4a, я получаю это сообщение об ошибке.

Пожалуйста, помогите мне решить проблему.

Спасибо.

+3

вопрос устарел, но так как я пришел сюда через Google, что я разделю эту ссылку: [osstatus.com] (https://www.osstatus.com) позволяет вам искать коды ошибок – Daneo 2016-06-24 09:50:41

+1

@Daneo Это может быть старый, но он не устарел. У меня была такая же ошибка в 2017 году! – StuartQ 2017-07-10 09:29:27

ответ

56

1718449215 - это десятичное представление четырехсимвольного кода для ошибки kAudioFormatUnsupportedDataFormatError.

В общем, вы можете использовать что-то вроде этого, чтобы получить больше информации от ошибок, которые вы получите:

NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain 
          code:my_error_code 
          userInfo:nil]; 
NSLog(@"Error: %@", [error description]); 
+0

Могу ли я записывать в формате .m4a? – jfalexvijay 2010-11-23 18:43:23

+0

.m4a - это формат файла, а не кодек. Кодек, который вы записываете, определяется AVFormatIDKey. – memmons 2011-08-16 23:15:40

3

Коды ошибок OSStatus - это боль, они часто слишком общие, чтобы помочь. Вы пытались decode the four-char error code? Иногда это помогает (иногда вы просто получаете мусор). Создайте и покажите нам минимальный пример кода, который показывает проблему. В этом случае я уверен, что код с четырьмя символами равен fmt?. Google для числового кода, и вы должны быть мудрее.

0

Если вы находитесь в C или CPP код, который вы можете сделать это.

char code[4]; 
*((SInt32*)&code[0]) = error; 
3

В случае, если это помогает другим: я просто имел ту же ошибку, и это было вызвано, пытаясь создать/использовать звуковые файлы в неправильном формате. Я установил запись для создания файла .caf, но вместо этого вызвал файл xxx.wav.

3

Я также столкнулся с этой проблемой, когда я преобразовал тип файла в .mp3, а ранее использовал формат .caf для записи звука с помощью AVAudioRecorder. Я снова преобразовал тип файла в формат .caf &, он работает. Вы можете использовать следующие форматы

AAC, PCM, IMA4, ULAW, Ilbc

+0

Спасибо за форматы, какие расширения файлов разрешены iOS? например, что такое расширение файла для форматированного файла ULAW? – Josh 2016-06-06 14:25:06

0
UInt32 code = CFSwapInt32HostToBig(error); 
NSLog(@"%4.4s"(char *)&code); 
1

"NSDictionary", если он пуст, по умолчанию высокого качества, если вы установите это значение будет очень низким, вы можете попытаться отменить эти параметры:

setting[AVFormatIDKey] = @(kAudioFormatAppleIMA4); 
setting[AVSampleRateKey] = @(600.0); 
setting[AVNumberOfChannelsKey] = @(1); 
setting[AVLinearPCMBitDepthKey] = @(8);