Ich arbeite an der App, die Benutzer Audio aufzeichnet, schreibt Daten in die Datei mit AudioToolbox
und verarbeitet diese Daten. In der Analyse sehe ich eine Menge Fehler, die in AudioToolbox-Aufnahme passieren. Fast die Hälfte von ihnen ist -38 kAudioFileNotOpenError
Fehler von AudioFileWriteBytes()
Call zurückgegeben.
Im Moment scheint es, als würde dies ohne Grund passieren: Der Benutzer beginnt mit der Aufnahme, alles läuft gut und dann wird der Fehler 10-80 mal nacheinander protokolliert. In der Analytik gibt es keine Benutzeraktionen wie zum Hintergrund gehen oder die Aufzeichnung pausieren (wir haben diese Funktion).
Ich habe online nach Informationen recherchiert, aber nicht viele Informationen über Fehler gefunden.
Ich poste den gesamten Aufzeichnungscode (mit entferntem unbenutzten oder analytischen Code), denn neben -38 kAudioFileNotOpenError
habe ich noch eine Menge anderer Fehler und dies könnte bedeuten, dass ich AudioToolbox
falsch verwende. Hier sind die häufigsten Fehler:
AudioFileWriteBytes()
gibt -38 kAudioFileNotOpenError
error zurück: ( [1]
im Code) - ~ 50% aller Fehler AudioUnitRender()
gibt -10863 kAudioUnitErr_CannotDoInCurrentContext
error ( [2]
im Code) - ~ 5% AudioFileWriteBytes()
gibt 1868981823 kAudioFileDoesNotAllow64BitDataSizeError
error zurück: ( [1]
im Code) - ~ 4% AudioUnitRender()
gibt -1
error ( [2]
im Code) - ~ 3% Jede Hilfe, Kommentar oder Vorschlag wird sehr hilfreich sein!
Hier ist der Code (es ist auch auf GitHub verfügbar: Ссылка ):
%Vor%Ok ich hoffe, dass diese Hilfe, ich denke, dass das Problem in der Geschwindigkeit der Aufnahme vs Schreiben vs Rendering ist, so können Sie mit Blöcken schreiben, so dass Sie die Methoden isolieren kann, habe ich die gleichen Probleme mit Grafiken, so dass ich immer blockieren Sperren und Entsperren von Puffern).
Tags und Links ios audio swift cocoa-touch audiotoolbox