gpt4 book ai didi

android - 如何在 webview android 上自动播放 iframe youtube

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:47 26 4
gpt4 key购买 nike

我在我的应用程序中使用 android webview 来显示来自 youtube 的视频,它运行良好。

但我希望它是自动播放的。

这是我的 Activity ,我将 "?autoplay=1" 附加到 videoUrl 但没有任何变化它仍然不是自动播放。

public class LandVideoAct extends Activity {
WebView mWebView;
String videoURL = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.landfull);
videoURL = "http://www.youtube.com/embed/VYIi49czywo?autoplay=1";
mWebView = (WebView) findViewById(R.id.fullwebview);

String vid = "<html><body style=\"margin: 0; padding: 0\"><iframe width=\"100%\" height=\"100%\" src=\""+videoURL+"\" type=\"text/html\" frameborder=\"0\"></iframe><body><html>";

WebChromeClient mWebChromeClient = new WebChromeClient(){
public void onProgressChanged(WebView view, int newProgress) {
}
};

mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
mWebView.setWebChromeClient(mWebChromeClient);
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
mWebView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()");
}
});
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.setInitialScale(1);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setUseWideViewPort(true);
if (Build.VERSION.SDK_INT < 17) {
Log.i("GPSNETWORK", "<17");
} else {
Log.i("GPSNETWORK", Build.VERSION.SDK_INT+">=17");
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
}
mWebView.loadData(vid, "text/html", "UTF-8");
}
}

最佳答案

查看 this question .有一些建议可能对您有用,但是提出该问题的人没有说明它是否对他们有用。

我读到的大部分内容都是说大多数移动平台都会阻止自动播放以避免糟糕的用户体验。

您可以尝试下面的 javascript 代码:

var myvideo = document.getElementsByTagName('video')[0]; myvideo.play();

对于 Android 4.2.2+,请尝试将此添加到您的 native 代码中:

WebView.getSettings().setMediaPlaybackRequiresUserGesture(false);

另请查看 this page .添加以下代码以自动播放视频:

webview.setWebViewClient(new WebViewClient() {
// autoplay when finished loading via javascript injection
public void onPageFinished(WebView view, String url) { webview.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); }
});
webview.setWebChromeClient(new WebChromeClient());

webview.loadUrl("http://html5demos.com/video");
}

关于android - 如何在 webview android 上自动播放 iframe youtube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24947758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com