MPMoviePlayerViewController / MPMoviePlayerController两次不会播放同一部电影?

时间:2010-07-08 02:39:47

标签: iphone objective-c mpmovieplayercontroller

复制步骤: 1.调用playMovieAtURL。使用此网址:(http://nov8rixstorage.blob.core.windows.net/searchpad/tutorial_portrait.mov) 2.让电影开始然后按完成。 3.使用相同的URL再次调用playMovieAtURL。

结果: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 :(得分:0)

尝试moviePlayer.repeatMode = MPMovieRepeatModeOne;

答案 1 :(得分:0)

我认为不是:

MPMoviePlayerController *player = [aNotification object];

你应该写:

MPMoviePlayerViewController *player = [aNotification object];