5

Sto cercando di far riprodurre la mia app in un file video scaricato nella directory dei documenti. So che il file scaricato è sempre, ma io non riesco a ottenere il file da riprodurre, qui è il mio codice:Riproduzione di un video scaricato dalla directory dei documenti con Cocoa-Touch

-(IBAction)play{ 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"]; 

NSURL *movieURL = [NSURL fileURLWithPath:path]; 


_player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
[self.view addSubview:_player.view]; 

_player.controlStyle = MPMovieControlStyleDefault; 
_player.shouldAutoplay = YES; 


[_player setFullscreen:YES animated:YES]; 


[_player play]; 

} 
+0

Hai un errore nella NSString * definizione del percorso che non è necessario% @ /. Ma non hai detto qual è l'output o l'errore se ne ottieni uno dalla console. – Panagiotis

+0

Sei sicuro che questa cosa esiste nella directory dei documenti e non nel pacchetto di applicazioni? Posso caricare un video bene dal pacchetto. – CodaFi

+0

Un consiglio: la mia app è stata rifiutata per il salvataggio dei video su/Documenti, come da nuove linee guida per lo storage (linea di fondo: rende i backup lenti/pesanti). ** Se ** stai puntando su iOS 5.0.1 o versione successiva, puoi contrassegnare una sottodirectory all'interno di/Documents come 'salta backup'. Altrimenti, la tua unica opzione è di salvare in/Caches (e trovare un modo per scaricare nuovamente il video quando viene eliminato) –

risposta

0

questione sarà con questa linea: NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"];

Change che a NSString *path = [documentsDirectory stringByAppendingPathComponent:@"piggy.m4v"];

+0

@untitled: qual è l'errore che stai ottenendo? –

+0

Sto ricevendo l'output sopra dalla console, ho appena eseguito di nuovo l'app e ho ottenuto questo errore Errore (null) impostando la modalità di riproduzione su "AVAudioSessionModeDefault" – untitled

11

Questo appare come una sorta di bug, ma è necessario impostare il percorso del genere:

NSString *vidPath = [[NSBundle mainBundle] pathForResource:@"promo" ofType:@"mp4"]; 
NSURL *url = [NSURL fileURLWithPath:vidPath isDirectory:NO]; //THIS IS THE KEY TO GET THIS RUN :) 
[introPlayer setContentURL:url]; 
+0

Grazie mille. Mi hai salvato – cantfindaname88