Videos zusammenführen, aber AVAssetExportSession wird nie abgeschlossen

8

Beim Versuch, einige Videos zusammenzuführen und sie als eine einzige Datei zu exportieren, scheint alles in Tutorials / Beispielen korrekt zu sein, aber meine AVAssetExportSession scheint niemals vollständig zu sein, und meine Videodatei wird nie exportiert, keine Hilfe wie bei einem ein offensichtlicher Fehler, den ich vermisse, wäre sehr willkommen.

Unten ist die Funktion, wo ich die Videos zusammenführe

note 'videos' in der Schleife ist eine Membervariable var videos = [AVAsset]() , die vor dem Aufruf der Zusammenführung aufgefüllt (und geprüft) wird.

%Vor%

Unten wird die exportDidFinished-Funktion angezeigt, die aufgerufen wird, wenn exportAsynchronouslyWithCompletionHandler aufgerufen wird. Ich komme in diese Funktion, aber es passiert nie etwas, weil der Sitzungsstatus nie beendet wird.

%Vor%

gedruckt der Sitzungsstatus zeigte, dass es 4 war, die fehlgeschlagen ist, so habe ich session.error gedruckt und habe das, aber ich bin mir nicht sicher, was es bedeutet, jede Hilfe wäre toll

%Vor%     
AngryDuck 27.09.2015, 14:39
quelle

1 Antwort

3

Wenn exportDidFinish aufgerufen wird, aber nichts passiert, ist der Status Ihrer Sitzung nicht AVAssetExportSessionStatus.Completed . Es kann AVAssetExportSessionStatus.Failed oder ein anderer Wert sein. Überprüfen Sie diese Werte und wenn dies fehlgeschlagen ist, überprüfen Sie die Eigenschaft session.error auf weitere Informationen.

BEARBEITEN : Wenn ein Video nach dem anderen abgespielt werden soll, erstellen Sie nur ein AVMutableCompositionTrack . Relevante Änderungen finden Sie unten:

%Vor%

Sie sollten auch Ihre renderSize auf etwas angemessenes einstellen. Die Größe deiner Videos entspricht möglicherweise nicht der Größe deines Bildschirms.

    
jlw 05.10.2015, 21:24
quelle