我正在使用UIWebView通过iFrame播放youtube视频。
我正在使用UIMoviePlayerControllerDidEnterFullscreenNotification将youtube屏幕检测为全屏。
像下面的代码:

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(myMovieEnterFullScreen:)
                                             name: @"UIMoviePlayerControllerDidEnterFullscreenNotification"
                                           object: nil];

它适用于iOS7。
但是我尝试在iOS8中运行它。
没用
我认为通知名称已更改。
还有其他方法可以检测ios8中的youtube全屏事件吗?

最佳答案

markussvensson的实现存在一些错误警报,因为任何UIWindowDidBecomeVisibleNotification都被视为全屏视频播放,这是不正确的。

Selvin的实现“AVPlayerItemBecameCurrentNotification”可以捕获电影播放开始,但是不能捕获电影播放停止。

因此,我结合了这两种实现,并且按预期工作。

  • 将观察者添加到AVPlayerItemBecameCurrentNotification和UIWindowDidBecomeHiddenNotification;中。
  • 当发生AVPlayerItemBecameCurrentNotification时,设置一个标志。
  • 当发生UIWindowDidBecomeHiddenNotification时,检查该标志以查看它是否是“视频停止播放事件”。

  • 顺便说一句,AVPlayerItemBecameCurrentNotification尚未记录,在下一个iOS主要版本中可能会被破坏。

    关于uiwebview - UIMoviePlayerControllerDidEnterFullscreenNotification在iOS8中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25561812/

    10-11 23:45