5

Estoy tratando de hacer que mi aplicación reproduzca un archivo de video que se descargó al directorio de documentos. Sé que el archivo está siendo descargado, pero me parece que no puede obtener el archivo para jugar, aquí está mi código:Reproducción de un video descargado desde el directorio de documentos 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

usted tiene un error en el NSString * definición de la ruta que no es necesario% @ /. Pero no ha dicho cuál es la salida o el error si obtiene uno de la consola. – Panagiotis

+0

¿Está seguro de que esto existe en el directorio de documentos y no en el paquete de la aplicación? Puedo cargar un video muy bien desde el paquete. – CodaFi

+0

Un consejo: mi aplicación fue rechazada por guardar videos en/Documentos, según las nuevas Pautas de almacenamiento (línea inferior: hace que las copias de seguridad sean lentas/pesadas). ** Si ** está orientando iOS 5.0.1 o superior, puede marcar un subdirectorio dentro de/Documents como 'skip backup'. De lo contrario, tu única opción es guardar en/Cachés (y crear una forma de volver a descargar el video cuando se elimine) –

Respuesta

0

cuestión será con esta línea: NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"];

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

+0

@untitled: ¿cuál es el error que está obteniendo? –

+0

Obtengo la salida anterior de la consola, volví a ejecutar la aplicación y obtuve este error Error (nulo) estableciendo el modo de reproducción en 'AVAudioSessionModeDefault' – untitled

11

Esto se ve como una especie de bichos, pero hay que establecer la ruta de esa manera:

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

Muchas gracias. Me salvaste – cantfindaname88

Cuestiones relacionadas