Hola a todos, me gustaría saber si es posible reproducir un video desde un objeto NSData ... con el MPMoviePlayerController.Cómo reproducir video desde NSData
Gracias de antemano, Sergio
Hola a todos, me gustaría saber si es posible reproducir un video desde un objeto NSData ... con el MPMoviePlayerController.Cómo reproducir video desde NSData
Gracias de antemano, Sergio
obras respuesta de Ben perfectamente en el simulador pero no funciona en el dispositivo. No puede escribir en ningún lugar del dispositivo. Compruebe el código de abajo
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myMove.mp4"];
[videoData writeToFile:path atomically:YES];
NSURL *moveUrl = [NSURL fileURLWithPath:path];
player = [[MPMoviePlayerController alloc]init];
[player setContentURL:moveUrl];
player.view.frame = viewPlayer.bounds;
[viewPlayer addSubview:player.view];
[player play];
Por lo que yo sé que esto no es posible. Si los datos provienen de su base de datos, ¿puede guardarlos en un archivo temporal y reproducirlos?
sí, pero me gustaría evitar esto ...;) Estoy tratando de hacer esto con el marco QTKit ahora ... –
pero no funciona .. . uff :( –
2595063 stackoverflow –
crear un archivo con el tipo de su NSData por ejemplo, si su NSData es el tipo de mp4 crear un archivo con ese tipo - por ejemplo - "myMove.mp4"
copiar el archivo al pasado su aplicación resurces
añadir este código
NSData *mediaData; //your data
NSString *movePath=[[NSBundle mainBundle] pathForResource:@"myMove" ofType:@"mp4"];
[mediaData writeToFile:movePath atomically:YES];
NSURL *moveUrl= [NSURL fileURLWithPath:movePath];
MPMoviePlayerController *movePlayer=[[MPMoviePlayerController alloc]init];
[movePlayer setContentURL:moveUrl];
[movePlayer play];
esto no funcionará en el dispositivo, que no puede escribir archivos en cualquier lugar en el dispositivo. Mira mi respuesta abajo .. – andsien
-1 para hacer proselitismo –
Es mejor utilizar NSFileManager en este caso en lugar WriteToFile
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myMove.mp4"];
[[NSFileManager defaultManager] createFileAtPath:path contents:videoData attributes:nil];
NSURL *moveUrl = [NSURL fileURLWithPath:path];
player = [[MPMoviePlayerController alloc]init];
[player setContentURL:moveUrl];
player.view.frame = viewPlayer.bounds;
[viewPlayer addSubview:player.view];
[player play];
¿Cuáles son las ventajas de usar createFileAtPath vs writeToFile? – user523234
¿De dónde obtiene los datos de? – zoul
desde mi db ... no desde el paquete ... –