gpt4 book ai didi

android - youtube 的所有视频 ID 都没有在 webview 中播放?

转载 作者:行者123 更新时间:2023-11-29 01:45:31 24 4
gpt4 key购买 nike

我正在使用 WebView 类来播放 youtube 视频。

代码 fragment :

public class WebViewPlayer extends Activity {

private WebView engine;
private String video_id = "bIPcobKMB94";
// private String video_id ="Q-GLuydiMe4"; // **Not Playing**

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_web_view_player);

engine = (WebView) findViewById(R.id.webview);

engine.setWebViewClient(new WebViewClient());

engine.getSettings().setAllowFileAccess(true);
engine.getSettings().setJavaScriptEnabled(true);

engine.loadUrl("http://www.youtube.com/embed/"+video_id+"?autoplay=1");
}
}

在这段代码中,被注释的 video_id 没有在 WebView 中播放。缓冲后显示消息:

“此视频包含来自 VEVO 的内容。在某些网站上播放受到限制。Watech On Youtube”

请看这个。并建议我应该怎么做?


编辑 1:

engine = (WebView) findViewById(R.id.webview);  // Vevo restriction but Zooming Capability
engine.setWebChromeClient(new WebChromeClient());
engine.getSettings().setAllowFileAccess(true);
engine.getSettings().setJavaScriptEnabled(true);
engine.getSettings().setPluginState(PluginState.ON);
engine.setWebViewClient(new WebViewClient());
engine.setBackgroundColor(0x00000000);
engine.getSettings().setBuiltInZoomControls(true);
String html = "<iframe width='420' height='345' src='http://www.youtube.com/embed/bIPcobKMB94' frameborder='0' allowfullscreen></iframe>";
engine.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);

但是当我传递 video_id = "Q-GLuydiMe4"时。 VEVO 限制内容将显示在上面。

Vevo id link这不是在玩


编辑 2

我检查了 webview 的所有设置

  • engine.getSettings().setJavaScriptEnabled(true);
  • engine.getSettings().setAppCacheEnabled(true);
  • engine.getSettings().setDomStorageEnabled(true);
  • engine.getSettings().setAllowContentAccess(true);
  • engine.getSettings().setAllowFileAccessFromFileURLs(true);
  • engine.getSettings().setAllowUniversalAccessFromFileURLs(true);
  • engine.getSettings().setBlockNetworkLoads(true);
  • engine.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
  • engine.getSettings().setPluginState(PluginState.ON);
  • engine.getSettings().setUseWideViewPort(true);

但视频仍然没有在 WebView 中运行

请建议我该怎么做??? 有没有人知道这件事

最佳答案

内容所有者可以将您的来源列入域级白名单或黑名单,这基本上意味着您无法播放它们。不幸的是,我认为没有任何简单的方法可以解决这个问题。

关于android - youtube 的所有视频 ID 都没有在 webview 中播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21793861/

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