【问题标题】:MPMoviePlayerController fullscreen movie inside a UIWebViewUIWebView 中的 MPMoviePlayerController 全屏电影
【发布时间】:2011-02-12 16:48:18
【问题描述】:

我遇到了 UIWebView 和 MPMoviePlayerController 的问题: 我的 UIWebView 在 html 中有一个电影(它是一个本地 html 文件),我正在使用 html5 和视频的视频标签。 问题是:用户可以直接在html上将视频设置为内联播放,也可以点击全屏按钮,但我需要知道视频是否正在全屏播放。

我尝试使用 MPMoviePlayerDidEnterFullscreenNotification 但没有成功。

有人知道如何从 webview 获取此通知吗?

提前致谢

【问题讨论】:

标签: iphone uiwebview mpmovieplayercontroller


【解决方案1】:

如果您使用 HTML 将电影嵌入到 Web 视图中,那么您需要使用 Javascript 而不是 MPMoviePlayer 类来处理您的电影。

查看 Apple 的 Quicktime 脚本指南here

我认为您需要的属性是GetRectangle(),它返回嵌入区域内电影的位置和尺寸的字符串。

一旦你有了尺寸,你就可以把它从 Javascript 传回 Objective-C。

【讨论】:

  • 这有助于判断给定时间矩形的大小;但是,问题询问如何获取电影播放器​​已进入全屏(或大小已更改)的通知。
【解决方案2】:

没有发送通知(另见这篇文章:Event on view displayed change (Youtube MPMoviePlayerViewController)),但 web 视图会做一些骇人听闻的事情:它会在根 UIViewController's 视图中添加一个子视图,使其全屏并播放电影在那里。

让您的主要UIViewController's 视图成为您自己的视图,并拦截-didAddSubview:-willRemoveSubview:。这样您就可以检测播放器何时被全屏显示。

【讨论】:

  • 关于向根 UIViewController 的视图添加子视图的小评论非常宝贵。没有它,当我离开托管在完全不同的 VC 中的全屏电影播放器​​时,我不知道为什么会调用 RootViewController 的外观方法。
【解决方案3】:

来自Apple's documentation

全屏事件和属性

当元素进入或退出全屏模式时,Safari 会发出 webkitfullscreenchange 事件。监听此事件以检测更改。

您可以测试 document.webkitIsFullScreen 属性以查看 Safari 是否最近进入或退出了全屏模式。该属性在全屏模式下为 true。

document.webkitCurrentFullScreenElement 属性包含处于全屏模式的元素。如果您有多个元素可以处于全屏模式,请使用此属性。

不幸的是,这些似乎不适用于 iOS。 Apple 需要改变这一点。

【讨论】:

    【解决方案4】:

    您还可以标记您的主视图并扩展 UIView(或在您拥有主视图的情况下实现以下方法):

    @implementation UIView (UIViewExtended)
    - (void)didAddSubview:(UIView *)subview {
       if (subview.superview.tag == ... ) {
    ... set some flag here or do some action
       }
    }
    
    - (void)willRemoveSubview:(UIView *)subview {
       if (subview.superview.tag == ... ) {
    ... set some flag here or do some action
       }
    }
    @end
    

    【讨论】:

    • 看起来这在 iOS 6 中出现了问题。还有其他想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多