MPMoviePlayerController第二次播放视频
问题描述:
我需要有可能在应用中播放多个视频。MPMoviePlayerController第二次播放视频
不幸的是,第二次按播放时,视频闪烁。
我只用这个代码玩韦迪
NSURL * URL = [[[NSURL页头] initFileURLWithPath:[一个NSBundle mainBundle] pathForResource:@ “电影” ofType:@ “M4V”]]自动释放]。
MPMoviePlayerController * mp = [[MPMoviePlayerController alloc] initWithContentURL:url];
mp.movieControlMode = 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];
}
答
它接缝,唯一的解决办法是...使应用程序3.1
答
我也发现了OS 3.1或更高版本的模拟器版本可以玩上运行well.It不会出现blinking.But当我添加
initialPlaybackTime = -1.0
它也将在OS 3.0上发挥良好。
仍然有同样的问题。 – mxg 2010-01-12 08:44:53
你确定原始的movieplayercontroller没有被保留在某个地方吗? – 2010-01-12 14:18:19