Подтвердить что ты не робот

MPMoviePlayerController: Как я могу создать свой цикл видео?

Заранее благодарю за любую помощь, я новичок и буду признателен за любую помощь здесь. У меня есть этот код, чтобы играть в фильм, и он отлично работает. Может кто-нибудь ПОЖАЛУЙСТА, расскажите мне, как сделать этот цикл фильма и воспроизвести с самого начала без остановки (любой код поможет). Также я хотел бы знать, как играть 2 фильма, один за другим, предпочтительно с постепенным или плавным переходом. Спасибо за любую помощь

#import "MyAppViewController.h"

@implementation MyAppViewController

-(IBAction)button:(id)sender{
 NSString *path = [[NSBundle mainBundle]
       pathForResource:@"mymovie" ofType:@"mp4"];

 player = [[MPMoviePlayerViewController alloc]
     initWithContentURL:[NSURL fileURLWithPath:path]];

 [self presentMoviePlayerViewControllerAnimated:player];

}
4b9b3361

Ответ 1

Установите свойство repeatMode вашего MPMoviePlayerController в MPMovieRepeatModeOne

player = [[MPMoviePlayerViewController alloc]
          initWithContentURL:[NSURL fileURLWithPath:path]];
player.moviePlayer.repeatMode = MPMovieRepeatModeOne;

Ответ 2

MPMovieRepeatModeOne хорош, но он не зацикливает видео очень плавно. Попробуйте это ниже (скопировано из другого сообщения):

(Я только что получил эту работу над своим iPad 3 с iOS 5.1.1, базовым SDK iOS 5.1.)

При настройке видеоплеера установите режим повторения на MPMovieRepeatModeNone, затем добавьте уведомление

[[NSNotificationCenter defaultCenter] addObserver:self
            selector:@selector(moviePlayerDidFinish:)
            name:MPMoviePlayerPlaybackDidFinishNotification
                            object:self.moviePlayer];

Затем настройте свой селектор, чтобы отфильтровать, когда фильм закончит воспроизведение:

- (void)moviePlayerDidFinish:(NSNotification *)note
{
    if (note.object == self.moviePlayer) {
        NSInteger reason = [[note.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] integerValue];
        if (reason == MPMovieFinishReasonPlaybackEnded)
        {
            [self.moviePlayer play];
        }
    }
}

Ответ 3

Для таймера вы можете создать переменную Int, которая имеет значение вашего слайдера, а затем использовать функцию performSelector afterDelay:

int delayInt = 8; // Substitute the 8 for the value of your slider
[self performSelector:@selector(myMethod) withObject:nil afterDelay:delayInt];

И затем в вашем "myMethod"

-(void) myMethod{
//the code to stop your player and remove view controller
}