Java Android Studio WebView Youtube视频黑屏
我想在WebView中播放视频,但不知怎么的,视频上出现了黑屏,但我能听到它的声音。如果有人能帮我,我会很高兴的Java Android Studio WebView Youtube视频黑屏,java,android,android-studio,Java,Android,Android Studio,我想在WebView中播放视频,但不知怎么的,视频上出现了黑屏,但我能听到它的声音。如果有人能帮我,我会很高兴的 public class MainActivity extends AppCompatActivity { WebView displayYoutubeVideo; TextView button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst
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");
}
}
public类MainActivity扩展了AppCompatActivity{
网络视图显示YouTubevideo;
文本视图按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String frameVideo=“来自YouTube的视频
”;
WebView displayYoutubeVideo=(WebView)findViewById(R.id.youtube\u视图);
displayYoutubeVideo.getSettings().setUserAgentString(“Mozilla/5.0
(WindowsNT10.0;WOW64;rv:53.0)Gecko/20100101 Firefox/53.0);
displayYoutubeVideo.setWebViewClient(新WebViewClient()){
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
返回false;
}
});
WebSettings WebSettings=displayYoutubeVideo.getSettings();
setJavaScriptEnabled(true);
显示youtubevideo.loadData(框架视频、“文本/html”、“utf-8”);
}
}
我猜您在清单文件中的活动权限中可能缺少了android:hardwareAccelerated=“true”
。由于您正在播放flash视频,因此应该能够使WebView flash处于启用状态。这是我遇到的问题,解决方案是添加此权限。此链接可能会对您有所帮助。您似乎错过了web视图的某些属性
如果您的android:targetSdkVersion低于11,并且必须将webChromeclient设置为您的webview,则必须激活硬件加速
displayYoutubeVideo.setWebChromeClient(new WebChromeClient());
并在清单文件中添加以下行
<application android:hardwareAccelerated="true" ...>