我已经阅读了与此问题相关的所有内容,到目前为止没有任何效果:
https://www.youtube.com/embed/%s?autoplay=1
),%s
是视频ID。 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);
任何新的工作解决方案?
答案 0 :(得分:0)
基本上,不再允许在Android的内部webview中进行自动播放。 但是,您可以尝试使用YouTube API或iframe API实现自动播放。
答案 1 :(得分:0)
您可以尝试在网页视图上单击一下
@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);
}
答案 2 :(得分:-1)
有点晚了,但我希望这会有所帮助。
在youtube embeded url页面完成加载后运行: -
yourWebView.loadUrl("javascript:(function() { document.getElementsByClassName('ytp-large-play-button ytp-button')[0].click(); })()");