Sto provando a caricare un file video nell'app per iPad come AVURLAsset
, utilizzando il caricamento in asincrono per attendere che sia pronto. Il problema è, quando lo eseguo, ottengo un messaggio di errore "errore" completamente generico che non ho idea di cosa fare. Il video funziona se lo consegno su un MPMoviePlayerController
, ma AVURLAsset
sembra rifiutarsi di avere qualcosa a che fare con esso.AVURLAsset si rifiuta di caricare il video
Codice:
asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:[docPath stringByAppendingPathComponent:@"video.mov"]] options:nil];
[asset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:@"tracks"] completionHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
[self composeIfReady];
});
}];
...
- (void)composeIfReady
{
NSError *error = nil;
if([asset statusOfValueForKey:@"tracks" error:&error] == AVKeyValueStatusFailed)
NSLog(@"error loading: %@", [error description]);
if(error == nil)
NSLog(@"okay awesome");
}
L'output:
error loading: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation couldn’t be completed. (AVFoundationErrorDomain error -11800.)" UserInfo=0x1696f0 {NSUnderlyingError=0x169a40 "The operation couldn’t be completed. (OSStatus error -12936.)"}
-11800, tra l'altro, è il codice di errore per "errore sconosciuto". Una specie di vicolo cieco. Qualche idea? C'è qualcosa che dovrei installare prima di provare a caricare la risorsa?
Sto usando fileURLWithPath e continuo a ottenere gli stessi errori. – gngrwzrd
+1 Questo funziona per me..Grazie molto .. –
Grazie mille verryy !!! Ora mi rendo conto che la differenza è significativa perché ha bisogno di un URL assoluto per il file e quindi l'URL relativo (/ var/mobile/...) fornito da URLWithString non funziona. –