MPMoviePlayerViewController / MPMoviePlayerController не будет воспроизводить один и тот же фильм дважды? - PullRequest
0 голосов
/ 08 июля 2010

Шаги для репликации: 1. Вызовите playMovieAtURL.Используйте этот URL: (http://nov8rixstorage.blob.core.windows.net/searchpad/tutorial_portrait.mov) 2. Дайте начать воспроизведение фильма, затем нажмите Готово. 3. Снова вызовите playMovieAtURL, используя тот же URL.

Результат: анимация MPMoviePlayerViewController; мигает несколько раз; и закрываетсяс ошибкой в ​​объекте уведомления. («Сервер настроен неправильно.»)

Это очень странно. Делает вещи более странными; проигрыватель фильмов больше ничего не будет воспроизводиться, пока приложение не будет удалено с устройства (симулятор илиiphone). При повторном развертывании он прекрасно воспроизведет фильм, но, увы, при втором воспроизведении он будет повторять описанное выше поведение.

Что я делаю не так? Может кто-нибудь воспроизвести это?

- (void) playMovieAtURL: (NSURL*) theURL {
    [theURL retain];

    MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:theURL];

    if (mp)
    {
        [self presentMoviePlayerViewControllerAnimated:mp];

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

        [mp release];
    }

    [theURL release];
}

-(void) playbackDidFinish:(NSNotification*)aNotification
{
    MPMoviePlayerController *player = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:player];
    [player stop];
    [self dismissMoviePlayerViewControllerAnimated];
}

Редактировать: Кто-нибудь может повторить это? Кто-нибудь?

Ответы [ 2 ]

0 голосов
/ 29 июня 2011

Я думаю вместо:

MPMoviePlayerController *player = [aNotification object];

Вы должны написать:

MPMoviePlayerViewController *player = [aNotification object];
0 голосов
/ 06 мая 2011

try moviePlayer.repeatMode = MPMovieRepeatModeOne;

...