我有一部电影加载得很好并且播放效果很好但是一旦页面加载就会播放。我希望它能够处于暂停状态,要求用户按下按钮进行观看。
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"iobserve1" ofType:@"mov"];
NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
moviePlayerController.view.frame = CGRectMake(60, 44, 900, 656); // player's frame must match parent's
[self.movieView addSubview:moviePlayerController.view];
moviePlayerController.controlStyle = MPMovieControlStyleEmbedded;
[moviePlayerController prepareToPlay];
[moviePlayerController pause];
}
最后一行的暂停似乎没有做任何事情。有帮助吗?感谢
答案 0 :(得分:1)
将您的代码模糊在上面的viewwillappear中。 然后在最后添加播放,如下所示:
-(void) viewWillAppear: (BOOL) animated {
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"iobserve1" ofType:@"mov"];
NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
moviePlayerController.view.frame = CGRectMake(60, 44, 900, 656); // player's frame must match parent's
[self.movieView addSubview:moviePlayerController.view];
moviePlayerController.controlStyle = MPMovieControlStyleEmbedded;
[moviePlayerController prepareToPlay];
[moviePlayerController play];
}
最后。
在viewdid中显示一个
-(void) viewDidAppear: (BOOL) animated {
[moviePlayerController pause];
}
请记住从viewDidLoad中删除代码
答案 1 :(得分:1)
您可以尝试将MPMoviePlayerController
属性shouldAutoplay
设置为NO
。
在prepareToPlay
电话之前添加以下行;
moviewPlayerController.shouldAutoplay = NO;
参考文献:
shouldAutoplay
一个布尔值,指示电影是否应自动开始播放。
@property (nonatomic) BOOL shouldAutoplay
的讨论强> 的
此属性的默认值为YES。此属性确定 是否自动开始播放基于网络的内容 当有足够的缓冲数据以确保不间断播放时。
状况 适用于iOS 3.2及更高版本。 声明在