2017-07-18 206 views
1

我在使用WebView播放YouTube视频时遇到问题。整天我都在阅读关于如何做到这一点的问题和答案,但它不起作用。 我已经设定的清单,这是我使用Android:在Webview上播放YouTube视频

mWebview.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return false; 
     } 
    }); 


    mWebview.getSettings().setPluginState(WebSettings.PluginState.ON); 
    mWebview.setWebChromeClient(new WebChromeClient()); 
    mWebview.getSettings().setJavaScriptEnabled(true); 
    mWebview.getSettings().setAppCacheEnabled(true); 
    mWebview.setInitialScale(1); 
    mWebview.getSettings().setLoadWithOverviewMode(true); 
    mWebview.getSettings().setUseWideViewPort(true); 

    //webSettings.setLoadsImagesAutomatically(true); 
    //webSettings.setSupportZoom(false); 

    mWebview.loadUrl("https://www.youtube.com/embed/MYVIDEOID"); 

什么的发生是this我可以点击播放按钮计时开始,但我什么也看不到代码。

编辑: 该问题似乎在模拟器上,而不是在真实的设备上,检查评论的答案。

回答

1

试试这个

String frameVideo = "<html><body>Video From YouTube<br><iframe width=\"420\" height=\"315\" src=\"https://www.youtube.com/embed/47yJ2XCRLZs\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; 

    WebView displayYoutubeVideo = (WebView) findViewById(R.id.mWebView); 
    displayYoutubeVideo.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return false; 
     } 
    }); 
    WebSettings webSettings = displayYoutubeVideo.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    displayYoutubeVideo.loadData(frameVideo, "text/html", "utf-8"); 

在manifist文件还设置android:hardwareAccelerated="true"

<application 
    android:allowBackup="true" 
    android:hardwareAccelerated="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

</application> 
+0

没有发生,像以前一样,我可以点击播放按钮,计时开始移动,但不能看到视频 – justo

+0

做你在你的应用标签中加入了这个android:hardwareAccelerated =“true”' –

+0

当然,还有互联网权限 – justo

相关问题