Вы всегда можете запустить другое видео, когда оно закончится. Одним из способов является установка пользовательских методов для вызова поведения при создании youMoviePlayerController
:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(aMoviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:youMoviePlayerController];
и затем:
- (void)aMoviePlaybackComplete:(NSNotification*)notification
{
MPMoviePlayerController *moviePlayerController = [notification object];
if(urlIndex < yourUrlArray.count){
NSUrl* myUrl = [yourUrlArray objectAtIndex:urlIndex];
[moviePlayerController setContentURL:myUrl];
[moviePlayerController play];
urlIndex++;
}
else{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[moviePlayerController.view removeFromSuperview];
[moviePlayerController release];
}
}
Я предполагаю, что yourUrlArray
- это предопределенный массив URL-адресов фильмов, которые вы хотите воспроизвести, а urlIndex
ведет подсчет текущего воспроизводимого фильма. Конечно, вам придется настроить это под свои нужды.
РЕДАКТИРОВАТЬ- Для локальных файлов вы можете сформировать NSUrl
, используя bundle
:
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"Movie" ofType:@"m4v"];
NSUrl* url = [NSURL fileURLWithPath:moviePath];
[yourUrlArray addObject:url];
и инициализируйте массив url (yourUrlArray
), а затем продолжайте как отправлено ранее.