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

Avn*_*arr 8 youtube-api uiwebview nsnotificationcenter ios youtube-javascript-api

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

html5媒体播放器有一个"全屏"按钮 - 我该怎么办?

  • 知道玩家何时进入全屏
  • 强制HTML5播放器进入全屏

在此输入图像描述

小智 1

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

webView.allowsInlineMediaPlayback = NO;
Run Code Online (Sandbox Code Playgroud)

看起来有几种方法可以检测进入和离开全屏,尽管这些似乎不是推荐的方法。请参阅链接的 StackOverflow 问题。

根据您想要执行的操作,似乎您最好使用onStateChange回调来检测玩家状态更改。在我正在开发的一个项目中,代码如下所示:

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

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

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