Sono stato alle prese con questo problema per oltre una settimana. Spero che qualcuno veda cosa sto sbagliando. Sto tentando di utilizzare il metodo finishWritingCompletionHandler: poiché il metodo finishWriting è ora deprecato. Non ho avuto alcun successo con il nuovo metodo. Fallisce con un errore sconosciuto -11800. Posso salvare il mio file MOV usando il metodo deprecato, ma quando creo l'equivalente con il nuovo metodo fallisce ogni volta.AVAssetWriter finishWritingWithCompletionHandler errore con errore sconosciuto
Ecco il mio codice originale:
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];
});
}
}];
Il mio nuovo metodo è il seguente:
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];
});
}
}];
}];
non credo che mi mancava nulla e non sto ottenendo molto dall'errore esso getta. Qualsiasi aiuto sarà molto apprezzato.
Grazie, Rob
Sto marcando come finitura ed è ancora in crash ... – SpaceDog