2

我之前已经发布过这个问题,但无法得到答案,所以我再次发布。关于从 iphone 开发者网站下载的 MoviePlayer 示例,当我按下完成按钮时,电影播放器​​控制模式下,电影完成并退出到主查看,同时调用了moviePlayBackDidFinish函数,但是当我再次播放电影时,播放器屏幕一直闪烁,如何防止这种情况?

我没有做任何更改的代码完全是从从苹果网站下载的示例代码构建的,以前有没有人遇到过这个问题,并解决了它?

4

1 回答 1

2

此问题仅在模拟器中发生,而不在实际设备上发生。如果你想摆脱这个,你需要释放 MoviePlayer 并在每次播放电影时分配一个新的。例如:

- (void) moviePlayBackDidFinish:(NSNotification*)notification
{
    // remove observer
    [[NSNotificationCenter defaultCenter] 
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:thePlayer];

    [thePlayer release];
}

thePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theMovie];

[[NSNotificationCenter defaultCenter] 
     addObserver:self 
     selector:@selector(moviePlayBackDidFinish:) 
     name:MPMoviePlayerPlaybackDidFinishNotification 
     object:thePlayer];

[thePlayer play];

别处。

于 2009-11-11T21:34:21.897 回答