我正在尝试在我的网页浏览中制作youtube视频自动播放。经过许多其他页面后,我认为这些设置是必要的,以使其工作:
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
另外,我在pageFinished方法中放置了以下javascript代码:
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (view.getProgress() == 100) {
webView.loadUrl("javascript:document.getElementsByTagName('video')[0].play();"
);
}
}
});
由于setMediaPlaybackRequiresUserGesture方法仅在API 17之后引入,我检查了我的测试设备规格,它是API 22和android 5.但这仍然不起作用。但是,启动视频的Javascript代码仅在视频播放并暂停至少一次后才有效。任何修复?如果使用webview无法实现此功能,则可以理解任何替代解决方案。