【问题标题】:WebView - YouTube videos not playingWebView - YouTube 视频不播放
【发布时间】:2012-06-07 08:16:01
【问题描述】:

我有一个使用 WebView 显示网页的活动。在该页面中,有一个指向 YouTube 视频的链接(因此它不是我可以或需要嵌入的视频)。

问题是视频无法播放 - 我可以看到带有点击图标的视频预览图像,但点击它没有响应。有什么可以做的吗?

public class DisplayWebPage extends Activity
{   
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.display_web_page);

        Bundle extras = getIntent().getExtras();
        String url = extras.getString("url");
        WebView webview = (WebView)findViewById(R.id.WebView1);

        webview.setWebViewClient(new WebViewClient());
        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl(url);
    }
}

【问题讨论】:

标签: android android-webview


【解决方案1】:
public class MyPdfViewActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WebView mWebView=new WebView(MyPdfViewActivity.this);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);
    mWebView.loadUrl(youtube_link);
    setContentView(mWebView);
  }
}

更新:: 如果上述方法不起作用,请尝试以下方法::

public class main extends Activity {
    /** Called when the activity is first created. */
     @ Override


     public void onCreate (Bundle savedInstanceState) {
         super. onCreate (savedInstanceState);



         setContentView (R.layout.main);

         WebView web = (WebView) findViewById (R.id.webView);
         web. getSettings().setJavaScriptEnabled (true); 
         web. getSettings().setJavaScriptCanOpenWindowsAutomatically (false);
         web. getSettings().setPluginsEnabled (true);
         web. getSettings().setSupportMultipleWindows (false);
         web. getSettings().setSupportZoom (false);
         web. setVerticalScrollBarEnabled (false);
         web. setHorizontalScrollBarEnabled (false);


         web. loadUrl ("THE URL TO YOUR WEBVIEW SITE SHOULD GO HERE");

         web. setWebViewClient (new WebViewClient () {
             @ Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
             if (url.startsWith("vnd.youtube")){

             startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

             return true;
             }
             else
             {
             return false;
             }
             }
         });
     }

 } 

【讨论】:

  • 我认为第二个示例不相关,因为我没有直接打开 YouTube 网址。第一个帮助我意识到我应该从我的代码中删除以下行 - webview.setWebViewClient(new WebViewClient()); - 一旦我这样做了,视频就工作了(在要求选择应该用来显示它的内容之后,这对我来说很好)。
猜你喜欢
  • 2013-07-13
  • 2014-02-10
  • 2012-12-14
  • 2011-05-29
  • 2011-01-18
  • 2013-11-19
  • 2017-12-23
  • 2013-07-16
相关资源
最近更新 更多