如何在webview android上自动播放iframe youtube
我已经阅读了与此问题相关的所有内容,但迄今为止没有任何效果:如何在webview android上自动播放iframe youtube,android,iframe,youtube,android-webview,Android,Iframe,Youtube,Android Webview,我已经阅读了与此问题相关的所有内容,但迄今为止没有任何效果: 将“autoplay=1”参数添加到URL的末尾(如https://www.youtube.com/embed/%s?autoplay=1),%s是视频id 谷歌似乎在默认情况下禁用了它: Javascript注入无法工作: mWebView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url)
- 将“autoplay=1”参数添加到URL的末尾(如
),https://www.youtube.com/embed/%s?autoplay=1
是视频id%s
- 谷歌似乎在默认情况下禁用了它:
- Javascript注入无法工作:
mWebView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { mWebView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); } }); mWebView.getSettings().setJavaScriptEnabled(true);
有新的工作解决方案吗?基本上,Android的内部网络视图不再允许自动播放。 但是,您可以尝试使用YouTube API或iframe API实现自动播放
有点晚了,但我希望这有帮助 加载完youtube嵌入的url页面后,运行以下操作:-
yourWebView.loadUrl("javascript:(function() { document.getElementsByClassName('ytp-large-play-button ytp-button')[0].click(); })()");
您可以尝试在webview上单击一次
@Override
public void onPageFinished(WebView view, String url) {
float x = view.getWidth() / 2;
float y = view.getHeight() / 2;
MotionEvent motionEventDown = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0.5f, 0.5f, 0, 0.5f, 0.5f, InputDevice.SOURCE_TOUCHSCREEN, 0);
MotionEvent motionEventUp = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis() + 200, MotionEvent.ACTION_UP, x, y, 0.5f, 0.5f, 0, 0.5f, 0.5f, InputDevice.SOURCE_TOUCHSCREEN, 0);
view.dispatchTouchEvent(motionEventDown);
view.dispatchTouchEvent(motionEventUp);
}