Я играю видео, хранящееся в подпапке в документах ios6, используя MPMoviePlayerController, но это не работает
Я играю видео, хранящееся в подпапке с именем test1 в документах ios6, используя MPMoviePlayerController
, но это не работает
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];//
NSString *movieFolderPath = [documentDirectory stringByAppendingPathComponent:@"/test1"];
NSString *newsrc = [[NSString alloc]initWithFormat:@"/%@",new.src ];
NSString *moviePath = [movieFolderPath stringByAppendingPathComponent:newsrc];
NSURL *url = [[NSURL alloc]initWithString: [moviePath stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding] ];
_moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:url];
_moviePlayer.movieSourceType = MPMovieSourceTypeFile;
_moviePlayer.view.frame = new.region;
[_moviePlayer prepareToPlay];
_moviePlayer.shouldAutoplay = YES;
[self.view addSubview:_moviePlayer.view];
хорошо:url is /Users/fengsu/ библиотека / поддержка приложений /iPhone Simulator/6.0/Applications/53C97346-C8FD-42DF-AD37-F2B14D5D3984/Documents/test1/v1.mp4
Я думаю, что что-то не так с URL, но я не знаю, почему, пожалуйста, помогите мне, большое спасибо
2 ответа
Решение
Проблема в том, как вы строите NSURL
объект.
MPMoviePlayerController
ожидает, что URL-адреса, указывающие на локальные файлы, будут иметь file://
префикс.
Способ сделать это заключается в следующем:
NSString *filename = @"your_video.mpeg";
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *documentsDirectory = [pathArray objectAtIndex:0];
NSString *yourVideoPath = [documentsDirectory stringByAppendingPathComponent:filename];
NSURL *movieURL = [NSURL fileURLWithPath:yourVideoPath isDirectory:NO];
_moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
// Rest of the code...
Использование [NSURL fileURLWithPath:moviePath]
Это используется для открытия URL-адресов из файлов.