当用户尝试全屏播放时,MPMoviePlayerController 停止并重置电影 [iOS]
Posted
技术标签:
【中文标题】当用户尝试全屏播放时,MPMoviePlayerController 停止并重置电影 [iOS]【英文标题】:MPMoviePlayerController stops and resets the movie when user tries to play fullscreen [iOS] 【发布时间】:2011-10-20 15:43:22 【问题描述】:我在邮件视图中嵌入了 MPMoviePlayerController。我可以播放/暂停电影并向前/向后搜索。但是当我触摸“全屏按钮”时,电影停止并且播放状态设置为 MPMoviePlaybackStateStopped... 电影应该全屏播放吗?
这是我的代码:
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoUrl];
player.shouldAutoplay = NO;
player.movieSourceType = MPMovieSourceTypeFile;
player.controlStyle = MPMovieControlStyleEmbedded;
player.allowsAirPlay = YES;
player.view.frame = CGRectMake(xPos, yPos, width, height);
[self.view addSubview:player.view];
【问题讨论】:
【参考方案1】:我发现了我的错误:在 MPMoviePlayerController 的视图中按下全屏切换按钮时,会调用方法“viewWillLayoutSubviews”。我永远无法想象这种行为......
希望我的经验对其他开发者有用。
【讨论】:
您究竟需要做什么来解决这个问题?我有一个非常直接的 MPMoviePlayerViewController 实现,当我单击全屏按钮时,它会进入全屏但视频停止播放并挂在加载屏幕中......【参考方案2】:请记住,当 MPMoviePlayerController 全屏显示时,任何包含 ViewController 的 viewWillDisappear 和 viewDidDisappear 方法都会被调用。此外,viewWillAppear 和 viewWillDisappear 在从全屏返回时会被调用。
如果您有任何影响视频播放行为的逻辑,它将被调用,除非您使用一些条件逻辑来查看视频是否仍在播放。
【讨论】:
以上是关于当用户尝试全屏播放时,MPMoviePlayerController 停止并重置电影 [iOS]的主要内容,如果未能解决你的问题,请参考以下文章