美文网首页
wekwebview视频/直播无法自动播放

wekwebview视频/直播无法自动播放

作者: 4VZhang | 来源:发表于2019-01-07 14:29 被阅读12次

    线上项目中,为了实现某些需求更换了一个h5视频播放页面,由于h5链接来源方没有做iPhone的适配,导致无法在手机app上自动播放直播视频,也无法正常播放/暂停。

    解决方案:h5来源方短时间不能解决适配问题,只能使用js/oc代码解决。

    内联播放器配置
     WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
        //是否允许内联(YES)或使用本机全屏控制器(NO),默认是NO。
        config.allowsInlineMediaPlayback = YES;
        if (IOS10_OR_LATER) {
            config.mediaTypesRequiringUserActionForPlayback = NO;
        }else {// 9.0--10.0
            config.requiresUserActionForMediaPlayback = NO;
        }
        self.webView = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:config];
    
    自动播放视频
    - (void)playVideo{
        NSString *script = @"var videos = document.querySelectorAll(\"video\"); for (var i = videos.length - 1; i >= 0; i--) { var ivideo = videos[i]; ivideo.setAttribute(\"webkit-playsinline\",\"\"); ivideo.play(); };";
        [self.webView evaluateJavaScript:script completionHandler:nil];
        
    }
    
    // 导航完成时,会回调(也就是页面载入完成了)
    - (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation {
    //        DeLog(@"%s", __FUNCTION__);
        [self playVideo];
    }
    

    参考文献:
    iOS 10 Safari 视频播放新政策
    WKWebView加载html视频自动内联播放

    相关文章

      网友评论

          本文标题:wekwebview视频/直播无法自动播放

          本文链接:https://www.haomeiwen.com/subject/hkrurqtx.html