Ошибка OSStatus 1718449215
Я создал приложение для iPhone, чтобы записать наш голос. Когда я пытаюсь записать, я получаю сообщение об ошибке в следующем выражении.
recorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSetting error:&err];
Ошибка домена = NSOSStatusErrorDomain Code = 1718449215 "Операция не может быть завершена (ошибка OSStatus 1718449215.)"
Если я попытался записать в .caf файл, он работает нормально. Если я попытался с .m4a, я получаю это сообщение об ошибке.
Пожалуйста, помогите мне решить проблему.
Спасибо.
Ответы
Ответ 1
1718449215 - это десятичное представление четырехсимвольного кода для ошибки kAudioFormatUnsupportedDataFormatError
.
В общем вы можете использовать что-то вроде этого, чтобы получить больше информации от полученных вами ошибок:
NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain
code:my_error_code
userInfo:nil];
NSLog(@"Error: %@", [error description]);
Ответ 2
Коды ошибок OSStatus - это боль, они часто слишком общие, чтобы помочь. Вы пытались декодировать код ошибки <- w980 > ? Иногда это помогает (иногда вы просто получаете мусор). Создайте и покажите нам минимальный пример кода, который показывает проблему. В этом случае я уверен, что код four- char составляет fmt?
. Google для числового кода, и вы должны быть мудрее.
Ответ 3
В случае, если это помогает другим: у меня была такая же ошибка, и это было вызвано попыткой создания/использования аудиофайлов в неправильном формате. Я предустановил запись для создания файла .caf, но вместо этого вызвал файл xxx.wav.
Ответ 4
Я также столкнулся с этой проблемой, когда я преобразовал тип файла в .mp3, а ранее использовал формат .caf для записи звука с помощью AVAudioRecorder. Я снова преобразовал формат файла в формат .caf, и он работает. Вы можете использовать следующие форматы
AAC, PCM, IMA4, ULAW, ILBC
Ответ 5
"NSDictionary", если он пуст, по умолчанию используется высокое качество, если вы установите, это значение будет очень низким, вы можете попытаться отменить эти параметры:
setting[AVFormatIDKey] = @(kAudioFormatAppleIMA4);
setting[AVSampleRateKey] = @(600.0);
setting[AVNumberOfChannelsKey] = @(1);
setting[AVLinearPCMBitDepthKey] = @(8);
Ответ 6
Если вы используете код c или cpp, вы можете это сделать.
char code[4];
*((SInt32*)&code[0]) = error;
Ответ 7
UInt32 code = CFSwapInt32HostToBig(error);
NSLog(@"%4.4s"(char *)&code);