I am writing an application that stores the movies in the photo roll into the local documents folder for the app. I can play remote movies using the MPMoviePlayer, however t
Given that none of the other answers seem to resolve the problem, I'm inclined to think that the problem might be with the Documents file path you are producing.
You should be using the following method to generate the path to the application's documents folder:
NSString *userDocumentsPath = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if ([paths count] > 0)
{
userDocumentsPath = [paths objectAtIndex:0];
}
have you tried converting the local file path to a url
[NSURL URLWithString: [NSString stringWithFormat:@"file:/%@//",filePath]];
if there are spaces in you file path, you will have to convert them prior to creating the URL
filePath = [filePath stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
filePath = [filePath stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
The Core Data template converts a file path to a URL like this:
NSURL *storeUrl = [NSURL fileURLWithPath:whatever];
That seems to do all of the correct space escaping and stuff because I'm using this to load a file with a space in the path.
I am not sure if this will help you. In this tutorial there are some code lines which probably will bring you on the right path:
// Unless state is unknown, start playback
if ([mp loadState] != MPMovieLoadStateUnknown)
...
You will find this snippet in following method:
- (void) moviePlayerLoadStateChanged:(NSNotification*)notification
here is the link to the tutorial: Tutorial
Hopefully this will help you...