2010-07-08 77 views
0

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

结果: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]; 
} 

编辑:谁能复制这个?任何人?

+0

还没有想出这一个。这是SDK的错误还是我错过了什么?奇怪的是,这部电影将播放一次,但无法再播放。 – user852740 2010-07-12 14:03:50

+0

@jeeva你的链接是垃圾邮件和烦人的。 – 2011-03-21 20:41:25

回答

0

尝试moviePlayer.repeatMode = MPMovieRepeatModeOne;

0

我认为不是:

MPMoviePlayerController *player = [aNotification object]; 

你应该写:

MPMoviePlayerViewController *player = [aNotification object];