MPMoviePlayerController第二次播放视频

问题描述:

我需要有可能在应用中播放多个视频。MPMoviePlayerController第二次播放视频

不幸的是,第二次按播放时,视频闪烁。

我只用这个代码玩韦迪

NSURL * URL = [[[NSURL页头] initFileURLWithPath:[一个NSBundle mainBundle] pathForResource:@ “电影” ofType:@ “M4V”]]自动释放]。

MPMoviePlayerController * mp = [[MPMoviePlayerController alloc] initWithContentURL:url];

mp.movi​​eControlMode = MPMovieControlModeDefault;

[mp play];

moviePlayer = mp;

[mp释放];

谁能告诉我哪里可以解决问题? 在此先感谢!

UPDATE 1:看来,苹果MoviePlayer示例有同样的问题。

,您还可以通过调用之前的初始播放时间设置为-1.0做播放功能

mp.initialPlaybackTime = -1.0; 

把这段代码放在你的播放方法之前调用。

我有这个问题,并通过使用通知系统执行回调后MPMoviePlayerController完成播放,并释放播放器对象在那里解决它。

添加通知播放影片之前:

NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease]; 

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url]; 

mp.movieControlMode = MPMovieControlModeDefault; 

//***Add this line*** 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp]; 

[mp play]; 

然后添加回调方法,

-(void)myMovieFinished:(NSNotification*)aNotification 
{ 
    MPMoviePlayerController *moviePlayer = [aNotification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidFinishNotification object:moviePlayer]; 
    [moviePlayer release]; 
} 
+0

仍然有同样的问题。 – mxg 2010-01-12 08:44:53

+0

你确定原始的movieplayercontroller没有被保留在某个地方吗? – 2010-01-12 14:18:19

它接缝,唯一的解决办法是...使应用程序3.1

我也发现了OS 3.1或更高版本的模拟器版本可以玩上运行well.It不会出现blinking.But当我添加

initialPlaybackTime = -1.0 

它也将在OS 3.0上发挥良好。