以编程方式强制UIWebView进入全屏模式

时间:2014-01-13 21:26:13

标签: ios uiwebview youtube-api nsnotificationcenter youtube-javascript-api

在UIWebview(例如youtube)中播放媒体文件时

有一个“全屏”html5媒体播放器的按钮 - 我怎么能

  • 了解播放器何时全屏显示
  • 强制HTML5播放器进入全屏

enter image description here

2 个答案:

答案 0 :(得分:1)

以下是强制webview全屏退出视频播放的方法:

[_webView reload];

它不干净,也会停止视频播放。但我认为这是退出视频全屏播放的唯一方法。

答案 1 :(得分:0)

要强制视频始终以全屏播放,在配置UIWebView时,请使用以下代码行:

webView.allowsInlineMediaPlayback = NO;

detect entering and leaving fullscreen似乎有几种方法,但似乎这些不是推荐的方法。请参阅链接的StackOverflow问题。

根据您尝试做的事情,您最好使用onStateChange回调来检测玩家状态变化。在我正在开发的项目中,代码如下所示:

        function onStateChange(event) {
        window.location.href = 'ytplayer://onStateChange?data=' + event.data;
    }

然后我在控制器或视图包装器类中嗅探此URL:

- (BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
            navigationType:(UIWebViewNavigationType)navigationType {
if([request.URL.scheme isEqualToString:@"ytplayer"]) {
    NSString *action = request.URL.host;