Audioaufnahme Interrupt iOS 6 Fehler

8

Apples Demo-Projekt aurioTouch2 demonstriert das gleiche iOS-6-Problem, das ich beim Umgang mit Audio-Interrupts im Aufnahmemodus habe.

Das Szenario ist sehr spezifisch. In einem Audioaufnahmemodus wird ein Telefonanruf getätigt und dann beantwortet (das Ablehnen des Anrufs verursacht den Fehler nicht). Nach dem Auflegen kehrt die App zum Fokus zurück und kann die Aufzeichnung nicht fortsetzen.

Die Fehlermeldung lautet: AUIOClient_StartIO ist fehlgeschlagen (2003329396) Dieser Fehlercode übersetzt hilfreich das Wort "was".

Das aurioTouch2-Projekt war ein Update für iOS-5, funktioniert aber nicht für iOS-6. Scheint ein ziemlich kritischer Fehler für meine App, da das Gerät ein "Telefon" ist.

Ich habe jede vernünftige Variante ohne Glück versucht. Wer ist auf dasselbe Problem gestoßen? Vielen Dank.

Bearbeiten: Hier ist der Code, der es für mich repariert hat. Das Update ist in den Kommentaren notiert. Nicht gerade elegant, aber ich nehme an dieser Stelle alles.

Diese Methode wird irgendwann aufgerufen, nachdem die App in einen aktiven Zustand zurückgekehrt ist. Ich habe den Interrupt-Ende-Trigger ein Flag gesetzt, und später, wenn die Dinge wieder am Leben sind, überprüfe ich die Flagge und rufe diese Methode hier auf.

%Vor%     
Gupton Mubes 20.10.2012, 06:04
quelle

1 Antwort

0

Ich stieß auf das gleiche Problem und fand eine Lösung.

Mit dem Core-Telefonie-Framework, um den eingehenden Anruf zu erkennen, stoppe ich die Aufnahme "ungravellent", indem ich die Datei schließe, ohne die Audio-Warteschlangen zu berühren. Wenn die App dann fortgesetzt wird, zeige ich die Aufzeichnung in einem angehaltenen Zustand an, der Benutzer kann dann die Aufzeichnung fortsetzen. In der Zwischenzeit habe ich alle meine Kernaudiowarteschlangen neu gestartet.

Seien Sie vorsichtig mit dem callEventHandler von CTCallCenter , wenn Sie ARC verwenden. Es wird nicht korrekt freigegeben. Denken Sie daran, es auf nil zu setzen.

    
Vince 27.11.2012 10:59
quelle

Tags und Links