关于html5:App端自动播放H5视频配置

107次阅读

共计 1475 个字符,预计需要花费 4 分钟才能阅读完成。

iOS 自动播放配置

1、须要在初始化的地位配置下

// 是否容许内联或应用本机全屏控制器,默认是 NO。

wkWebConfig.allowsInlineMediaPlayback = YES;

if (@available(iOS 10.0, *)) {wkWebConfig.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;} else {wkWebConfig.mediaTypesRequiringUserActionForPlayback = NO;}

2、如果有些视频设置了上述代码还不会自动播放, 配置 WKWebview 代理

(_wkwebView.navigationDelegate = self;)
在加载实现后代理办法里手动调用下

// 页面加载实现之后调用

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {[self playVideo];
}
- (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();};";
    [_wkwebView evaluateJavaScript:script completionHandler:nil];
    
}

Android 自动播放配置

WebSettings webSetting = webView.getSettings();
高版本 https 问题

webSetting.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
webSetting.setSupportMultipleWindows(false);
webSetting.setBlockNetworkImage(true);// 解决图片不显示
webSetting.setJavaScriptEnabled(true); // 是否开启 JS 反对
webSetting.setAllowFileAccess(true); // 是否容许拜访文件
webSetting.setDomStorageEnabled(true); // 是否节点缓存
webSetting.setDatabaseEnabled(true); // 是否数据缓存
webSetting.setAppCacheEnabled(true); // 是否利用缓存
webSetting.setMediaPlaybackRequiresUserGesture(false); // 是否要手势触发媒体 重点
webSetting.setTextZoom(100); // 设置文本缩放的百分比
webSetting.setLoadsImagesAutomatically(true); // 是否主动加载图片
webSetting.setDefaultTextEncodingName(“UTF-8”); // 设置编码格
webSetting.setBlockNetworkLoads(false); // 是否从网络获取资源
webView.loadUrl(“https://xxx”);

正文完
 0