Mam problem z tym problemem od ponad tygodnia. Mam nadzieję, że ktoś widzi, co robię źle. Próbuję użyć metody finishWritingWithCompletionHandler:, ponieważ metoda finishWriting jest teraz przestarzała. Nie miałem żadnego sukcesu przy użyciu nowej metody. Nie powiedzie się z nieznanym błędem -11800. Mogę zapisać mój plik MOV przy użyciu nieaktualnej metody, ale gdy utworzę ekwiwalent z nową metodą, to za każdym razem się nie uda.AVAssetWriter finishWritingWithCompletionHandler error with unknown error
Oto mój oryginalny kod:
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];
});
}
}];
Moja nowa metoda jest następująca:
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];
});
}
}];
}];
Nie sądzę brakowało mi niczego, a ja nie dostaję dużo z nim błędu rzuca. Każda pomoc zostanie bardzo doceniona.
Dzięki Rob
Oznaczam to jako wykończenie i nadal się zawiesza ... – SpaceDog