Iphone OSStatus错误1718449215
我已经创建了一个iPhone应用程序来录制我们的声音。当我尝试录制时,我在下面的语句中收到错误消息Iphone OSStatus错误1718449215,iphone,core-audio,record,Iphone,Core Audio,Record,我已经创建了一个iPhone应用程序来录制我们的声音。当我尝试录制时,我在下面的语句中收到错误消息 recorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSetting error:&err]; 错误域=NSOSStatusErrorDomain代码=1718449215“操作无法完成。(OSStatus错误1718449215)。” 如果我尝试在.caf文件中录制,它工作正常。如果我尝试使用.m4a,则会收到
recorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSetting error:&err];
错误域=NSOSStatusErrorDomain代码=1718449215“操作无法完成。(OSStatus错误1718449215)。”
如果我尝试在.caf文件中录制,它工作正常。如果我尝试使用.m4a,则会收到此错误消息
请帮我解决这个问题
谢谢。OSStatus错误代码是痛苦的,它们通常过于笼统而无济于事。你有试过吗?有时这会有帮助(有时你会收到垃圾)。创建并向我们展示展示问题的最小代码示例。在本例中,我打赌四字符代码是
fmt?
。谷歌搜索数字代码,你应该更聪明。1718449215是四个字符代码的十进制表示形式,用于kAudioFormatUnsupportedDataFormatError
错误
通常,您可以使用类似的方法从收到的错误中获取更多信息:
NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain
code:my_error_code
userInfo:nil];
NSLog(@"Error: %@", [error description]);
如果使用c或cpp代码,则可以执行此操作
char code[4];
*((SInt32*)&code[0]) = error;
如果这对其他人有帮助的话:我只是遇到了同样的错误,这是由于试图以错误的格式创建/使用音频文件造成的。我预先设置了录制以创建一个.caf文件,但取而代之的是名为xxx.wav的文件。当我以前使用.caf格式用AVAudioRecorder录制声音时,将文件类型转换为.mp3时,我也遇到了这个问题。我再次将文件类型转换为.caf格式&它可以工作。您可以使用以下格式 AAC、PCM、IMA4、ULAW、ILBC“NSDictionary”如果为空,默认为高质量,如果设置,该值将非常低,您可以尝试取消这些参数:
UInt32 code = CFSwapInt32HostToBig(error);
NSLog(@"%4.4s"(char *)&code);
setting[AVFormatIDKey] = @(kAudioFormatAppleIMA4);
setting[AVSampleRateKey] = @(600.0);
setting[AVNumberOfChannelsKey] = @(1);
setting[AVLinearPCMBitDepthKey] = @(8);
我最喜欢的破译OSStatus密码的工具是 OSStatus错误1718449215是
KaudioConverter\u格式不受支持的
,这可能意味着:
- 您尝试导出到的格式不受支持(请仔细检查输出文件URL的文件扩展名)
记录设置出现问题。需要注意的一点是,
的值与输出文件URL的文件扩展名匹配AVFormatIDKey
AVFormatIDKey
设置为kAudioFormatLinearPCM
(wav
格式)时,我遇到了同样的错误,但忘记了将目标文件的文件扩展名从.m4a
更改为.wav
。kAudioFormatAMR
的扩展名是什么?谢谢