2016-05-04 9 views
1

Fehler decodiert werden Domain = AVFoundationErrorDomain-Code = -11.855 "dekodieren können nicht" Userinfo = {NSUnderlyingError = 0x157372050 {Fehler Domain = NSOSStatusErrorDomain-Code = 560226676 "(null)"}, NSLocalizedFailureReason = Die Medien Daten konnten auf diesem Gerät nicht dekodiert werden., NSLocalizedDescription = Kann nicht decodieren}AVAssetWriter - kann nicht auf diesem Gerät

Den obigen Fehler erhalten, wenn Sie versuchen, mit einem AVAssetWriter zu schreiben. Dies tritt nur bei iPhone 5s auf und tritt nur manchmal auf. Der am besten reproduzierbare Fall ist, wenn wir von einem VC mit einem AVPlayer, der gerade Medien abspielt, zu dem VC übergehen, der die Aufzeichnung abwickelt. Die gleiche VC mit dem Recorder funktioniert korrekt mit den gleichen Einstellungen, wenn nicht mit dem AVPlayer vom VC aus navigiert wird. Was könnte diesen Fehler verursachen und wo kann ich nachsehen, um das zu beheben?

Die Asset-Schreiber-Code ist Teil des SCRecorder pod: https://github.com/rFlex/SCRecorder https://github.com/rFlex/SCRecorder/blob/master/Library/Sources/SCRecordSession.m

+0

Nur eine Vermutung, haben Sie überprüft, ob VC korrekte Daten/Format von AVPlayer Container VC erhält? Beim Empfang von Daten auf anderen VCs kann es zu Problemen kommen. – NightFury

+0

Die VCs sind nicht verwandt - sie geben keine Informationen von einem zum anderen. –

+0

Bitte geben Sie den relevanten Code ein, damit andere Ihr Problem besser analysieren können. – NightFury

Antwort

0

Wir lösten diese nach dem Auffinden, dass die Audio-Sample-Rate geändert wurde, um diesen Fehler zu verursachen. Wir überprüfen die Audio-Abtastrate vor der Aufnahme und korrigieren sie, wenn sie aus irgendeinem Grund geändert wurde.