2017-06-07 4 views
0

Ich möchte ein Video in der WebView spielen, aber irgendwie bekomme ich einen schwarzen Bildschirm auf dem Video, aber ich kann den Klang davon hören. Wäre wirklich froh, wenn jemand mir helfen kann,Android Studio WebView Youtube Video BlackScreen

public class MainActivity extends AppCompatActivity { 

WebView displayYoutubeVideo; 
TextView button; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    String frameVideo = "<html><body>Video From YouTube<br><iframe 
    width=\"560\" height=\"315\" 
    src=\"https://www.youtube.com/embed/WtO3_tF8niU\" frameborder=\"0\" 
    allowfullscreen></iframe></body></html>"; 

    WebView displayYoutubeVideo = (WebView) findViewById(R.id.youtube_view); 

    displayYoutubeVideo.getSettings().setUserAgentString("Mozilla/5.0 
      (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0"); 

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

Antwort

0

Ich denke, man könnte in der Manifest-Datei android:hardwareAccelerated="true" in den Berechtigungen Ihrer Aktivität fehlen. Da Sie ein Flash-Video abspielen, sollte dies funktionieren, damit der WebView-Blitz aktiviert wird. Dies ist etwas, dem ich begegnete, und die Lösung bestand darin, diese Erlaubnis hinzuzufügen.

0

Sie Hardwarebeschleunigung aktivieren müssen, wenn Ihr Android: targetSdkVersion niedriger als 11 ist und haben webChromeclient zu Ihrem webview

displayYoutubeVideo.setWebChromeClient(new WebChromeClient()); 

und in der Manifest-Datei unter der Zeile hinzufügen setzen

<application android:hardwareAccelerated="true" ...> 
Verwandte Themen