YouTube上的所有的视频​​ID不是web视图玩? [英] All video id of youtube is not playing in webview?

查看:125
本文介绍了YouTube上的所有的视频​​ID不是web视图玩?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的WebView类用于播放YouTube视频。

I am using a WebView Class for playing the youtube video.

code片断:

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");
    }
} 

在这本评论code VIDEO_ID,是不是在玩网页视图。缓冲后显示的消息:

In this code video_id which is commented, is not playing in the WebView. After the buffering a message is shown :

这部影片含有VEVO内容是从播放限制在特定网站上。Watech在YouTube上

"This video contains content from VEVO. Is is restricted from playback on certain sites. Watech On Youtube"

请对此看看。并建议我该怎么办?

Please have a look on this. And suggest me what should I do ?

编辑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受限制的内容会显示在上面。

But when I pass the video_id = "Q-GLuydiMe4". VEVO restricted content will display on it.

这VEVO ID链接是不是在玩

Vevo id link this is not playing

编辑2

我的所有设置的WebView

I checked with all setting for 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(真);

但是还是视频没有在运行web视图

请建议我应该怎么办?是什么具有这个东西任何人都知道

Please suggest me what should i Do ??? have anyone aware from this thing

推荐答案

内容所有者可以域级别的白名单或黑名单源,这基本上意味着你不能发挥他们。不幸的是,我不相信有来解决此没有简单的方法。

Content owners can domain level white list or black list your source, which basically means you can't play them. Unfortunately I don't believe that there is any easy way to work around this.

这篇关于YouTube上的所有的视频​​ID不是web视图玩?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆