2010-11-23 4 views
26

Ich habe eine iPhone-Anwendung erstellt, um unsere Stimme aufzunehmen. Wenn ich versuche aufzuzeichnen, erhalte ich eine Fehlermeldung in der folgenden Anweisung.OSStatus Fehler 1718449215


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

Fehler Domain = NSOSStatusErrorDomain Code = 1718449215 "Operation konnte nicht abgeschlossen werden. (OSStatus Fehler 1718449215.)"

Wenn ich versuchte, in .caf Datei aufzunehmen, es funktioniert gut. Wenn ich mit .m4a versuchte, erhalte ich diese Fehlermeldung.

Bitte helfen Sie mir, es zu lösen.

Danke.

+3

Die Frage veraltet ist, aber da ich hier durch Google kam würde ich diese Referenz teilen: [osstatus.com] (https://www.osstatus.com) können Sie die Fehlercodes nachschlagen – Daneo

+1

@Daneo Es kann alt sein, aber es ist nicht veraltet. Ich hatte den gleichen Fehler im Jahr 2017! – StuartQ

Antwort

56

1718449215 ist die dezimale Darstellung des vierstelligen Codes für den kAudioFormatUnsupportedDataFormatError Fehler.

Im Allgemeinen können Sie so etwas wie diese verwenden, um mehr Informationen aus den Fehlern erhalten Sie erhalten:

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

Kann ich im .m4a-Format aufnehmen? – jfalexvijay

+0

.m4a ist ein Dateiformat, kein Codec. Der Codec, in dem Sie aufnehmen, wird von AVFormatIDKey bestimmt. – memmons

3

OSStatus Fehlercodes sind Schmerz, sie sind oft zu allgemein, um zu helfen. Hast du versucht, decode the four-char error code? Manchmal hilft das (manchmal bekommst du einfach Müll). Erstellen und zeigen Sie uns ein minimales Codebeispiel, das das Problem aufweist. In diesem Fall wette ich, dass der Vier-Zeichen-Code fmt? ist. Google für den numerischen Code und Sie sollten weiser sein.

0

Wenn Sie in C oder cpp Code sind Sie dies tun können.

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

Falls dies anderen hilft: Ich hatte nur den gleichen Fehler, und es wurde durch den Versuch verursacht, Audiodateien im falschen Format zu erstellen/zu verwenden. Ich hatte die Aufnahme voreingestellt, um eine .caf-Datei zu erstellen, aber stattdessen die Datei xxx.wav genannt.

3

Ich hatte auch dieses Problem, als ich den Dateityp in .mp3 umwandelte, während ich zuvor das .caf-Format für die Tonaufzeichnung mit AVAudioRecorder verwendete. Ich konvertierte wieder Dateityp in .caf Format & es funktioniert. Sie können folgende Formate

AAC, PCM, IMA4, ULAW, ILBC

+0

Danke für die Formate, welche Dateierweiterungen sind von iOS erlaubt? Zum Beispiel, was ist die Dateierweiterung für eine ULAW-formatierte Datei? – Josh

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

Bitte denken Sie darüber nach, Ihre Antwort so zu bearbeiten, dass sie eine Erklärung zur Funktionsweise Ihres Codes enthält. – Matt

1

"NSDictionary" verwenden, wenn er leer ist, wird der Standard hohe Qualität, wenn Sie gesetzt ist, wird dieser Wert sehr niedrig sein, Sie können versuchen, diese Parameter zu löschen:

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

Ich habe die Kommentare in Chinesisch von Ihrem Beitrag entfernt. Wenn sie für Ihre Antwort entscheidend sind, übersetzen Sie sie bitte ins Englische und fügen Sie sie zurück. StackOverflow ist nur für Englisch. Vielen Dank! – Rob

+1

oh ich sehe..danke für Ihre Klarstellung.Lieber, bitte vergib mein Englisch ist nicht sehr gut, aber Sie können versuchen, diese Antwort, ich hoffe, diese Antwort wird Ihnen helfen – peng

+1

Vielen Dank für die Erinnerung an mich, verzeihen meine Sorglosigkeit, werde ich später darauf achten, und ich möchte sagen Du hast Recht. Danke! – peng