代码之家  ›  专栏  ›  技术社区  ›  jfalexvijay

Osstatus错误1718449215

  •  31
  • jfalexvijay  · 技术社区  · 14 年前

    我创建了一个iPhone应用程序来记录我们的声音。当我试图录制时,在下面的语句中会收到错误消息。

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

    错误域=nsosstatuserrordomain code=1718449215“操作无法完成。(Osstatus错误1718449215。)

    如果我试图在.caf文件中录制,它工作正常。如果我尝试使用.m4a,我将收到此错误消息。

    请帮我解决。

    谢谢。

    7 回复  |  直到 8 年前
        1
  •  63
  •   fbrereto    14 年前

    1718449215是用于 kAudioFormatUnsupportedDataFormatError 错误。

    通常,您可以使用类似的方法从收到的错误中获取更多信息:

    NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain
                              code:my_error_code
                              userInfo:nil];
    NSLog(@"Error: %@", [error description]);
    
        2
  •  5
  •   ICL1901    13 年前

    以防这对其他人有所帮助:我刚犯了同样的错误,这是由于试图创建/使用错误格式的音频文件造成的。我预先设置了录制以创建一个.caf文件,但改为称为xxx.wav文件。

        3
  •  3
  •   zoul    14 年前

    Osstatus错误代码是痛苦的,它们通常太笼统了,无法提供帮助。你试过了吗 decode the four-char error code ?有时会有帮助(有时你只是得到垃圾)。创建并向我们展示一个展示问题的最小代码示例。在这种情况下,我打赌四个字符的代码是 fmt? . 谷歌的数字代码,你应该更明智。

        4
  •  3
  •   Gagan_iOS    10 年前

    当我以前使用.caf格式用avaudiorecorder录制声音时,将文件类型转换为.mp3时,我也遇到了这个问题。我再次将文件类型转换为.caf格式&it works。您可以使用以下格式

    AAC、PCM、IMA4、ULAW、ILBC

        5
  •  1
  •   Rob    8 年前

    “nsdictionary”如果为空,则默认为高质量,如果设置,则此值将非常低,可以尝试取消这些参数:

    setting[AVFormatIDKey] = @(kAudioFormatAppleIMA4);
    setting[AVSampleRateKey] = @(600.0);
    setting[AVNumberOfChannelsKey] = @(1);
    setting[AVLinearPCMBitDepthKey] = @(8);
    
        6
  •  0
  •   Tavison    13 年前

    如果您使用的是C或CPP代码,那么可以这样做。

    char code[4];
    *((SInt32*)&code[0]) = error;
    
        7
  •  0
  •   Ryan Maloney    9 年前
    UInt32 code = CFSwapInt32HostToBig(error);
    NSLog(@"%4.4s"(char *)&code);