MPMoviePlayerViewController 锁定具有异常外观的应用程序?

MPMoviePlayerViewController locks up application with unusual appearance?

所以,我已经尝试了多种方法,结果相同。

我已经使用 YouTube MP4 URL 进行了测试,例如: This

我的做法看起来很像:

self.moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:videoUrlString]];

然后我播放视频。如果我播放视频并全屏显示,整个应用程序都会锁定。视频播放器出现,但部分状态栏(例如时间和栏)消失,只留下运营商名称。音量滑块只有一半,它会无限期地加载,并且会忽略任何进一步的触摸输入,直到我终止该应用程序。如果我旋转 iPhone,音量滑块和状态栏的其余部分会重新出现,但它仍然不会响应触摸或完成加载。 Screenshot of issue.

相反,如果我将 MPMoviePlayerViewController 对象传递给带有 presentViewController: 的 UINavigationController,应用程序似乎会挂起:直到我旋转,然后视频突然正确显示并开始播放!但是,同样,所有触摸输入都会被忽略,应用程序基本上被锁定。

这是我遇到过的最奇怪的问题之一。

所以我尝试使用其他人构建的工具。我使用 Youtube ID 而不是直接 link 尝试了 XCDYouTubeKit 和 YKMediaKit,结果 完全相同。 查看他们的代码后,他们都使用 MPMoviePlayerViewControllers。

这里发生了什么?谁能帮我找出问题所在?

真令人惊讶。你试过玩 AV Foundation 吗?这是一种比 MediaPlayer.framework.

更现代的媒体 API

如果您只能定位 iOS 8,那么 AVPlayerViewController 是一种通过 AVPlayer.

播放媒体的简单方法