Ich habe seit über einer Woche mit diesem Problem gekämpft. Ich hoffe, dass jemand sieht, was ich falsch mache. Ich versuche, die finishWithingWithCompletionHandler: -Methode zu verwenden, da die finishWriting-Methode jetzt veraltet ist. Mit der neuen Methode hatte ich keinen Erfolg. Es schlägt mit einem unbekannten Fehler -11800 fehl. Ich kann meine MOV-Datei mit der veralteten Methode Fine speichern, aber wenn ich die Entsprechung mit der neuen Methode erstelle, versagt sie jedes Mal.AVAssetWriter finishWithingCompletionHandler Fehler mit unbekanntem Fehler
Hier ist meine Original-Code:
dispatch_async(movieWritingQueue, ^{
if ([self.assetWriter finishWriting]) {
self.assetWriterAudioIn = nil;
self.assetWriterVideoIn = nil;
//[assetWriter release]; ARC will not allow this line.
self.assetWriter = nil;
self.readyToRecordVideo = NO;
self.readyToRecordAudio = NO;
[self.delegate movieReadyToSaveForMovieProcessor:self];
}
else {
[self displayError:[assetWriter error]];
dispatch_async(dispatch_get_main_queue(), ^{
[self resumeCaptureSession];
});
}
}];
Meine neue Methode ist wie folgt:
dispatch_async(movieWritingQueue, ^{
[self.assetWriter finishWritingWithCompletionHandler:^{
if (self.assetWriter.status != AVAssetWriterStatusFailed && self.assetWriter.status == AVAssetWriterStatusCompleted) {
self.assetWriterAudioIn = nil;
self.assetWriterVideoIn = nil;
self.assetWriter = nil;
self.readyToRecordAudio = NO;
self.readyToRecordVideo = NO;
[self.delegate movieReadyToSaveForMovieProcessor:self];
} else {
[self displayError:self.assetWriter.error];
dispatch_async(dispatch_get_main_queue(), ^{
[self resumeCaptureSession];
});
}
}];
}];
Ich glaube nicht, dass ich etwas verpasst, und ich bin von dem Fehler nicht viel es immer wirft. Jede Hilfe wird sehr geschätzt.
Danke, Rob
Ich markiere es als Finish und es stürzt immer noch ... – SpaceDog