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

时间:2014-02-15 05:37:41

标签: android video webview youtube

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

代码段:

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(真);
  • engine.getSettings()setAppCacheEnabled(真);
  • engine.getSettings()setDomStorageEnabled(真);
  • engine.getSettings()setAllowContentAccess(真);
  • engine.getSettings()setAllowFileAccessFromFileURLs(真);
  • engine.getSettings()setAllowUniversalAccessFromFileURLs(真);
  • engine.getSettings()setBlockNetworkLoads(真);
  • engine.getSettings()setJavaScriptCanOpenWindowsAutomatically(真);
  • engine.getSettings()setPluginState(PluginState.ON);
  • engine.getSettings()setUseWideViewPort(真);

但仍未在WebView中运行视频

请建议我该怎么办? 让任何人都知道这件事

1 个答案:

答案 0 :(得分:1)

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