Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 你的视频没有在webview上显示吗?_Android_Html_Youtube_Android Webview_Android Video Player - Fatal编程技术网

Android 你的视频没有在webview上显示吗?

Android 你的视频没有在webview上显示吗?,android,html,youtube,android-webview,android-video-player,Android,Html,Youtube,Android Webview,Android Video Player,我正在尝试从url在webview上显示youtube视频。长时间工作后,仍然没有显示任何内容:- 图像 movie_image_movie_link.setOnClickListener(new OnClickListener() { @SuppressLint("SetJavaScriptEnabled") @Override public void onClick(View arg0) {

我正在尝试从url在webview上显示youtube视频。长时间工作后,仍然没有显示任何内容:-

图像

movie_image_movie_link.setOnClickListener(new OnClickListener() {

            @SuppressLint("SetJavaScriptEnabled")
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                final Dialog dialog = new Dialog(act);
//              dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                dialog.setContentView(R.layout.show_video_from_youtube);
                dialog.setTitle("YouTube Video");
                WebView video = (WebView) dialog.findViewById(R.id.webview);


                video.getSettings().setJavaScriptEnabled(true);
                video.getSettings().setPluginState(WebSettings.PluginState.ON);
                // video.getSettings().setUserAgent(0);
                video.setWebChromeClient(new WebChromeClient() {
                });

                String id = StringUtils.substringBetween(
                        MovieJSONObjectHandle.youtube_link,
                        "www.youtube.com/watch?v=", "&amp");

                System.out.println("url => "
                        + Uri.parse("http://www.youtube.com/v/" + id)
                                .toString());

                final String mimeType = "text/html";
                final String encoding = "UTF-8";
                String html = getHTML(id);
                video.loadDataWithBaseURL("", html, mimeType,
                        encoding, "");

                dialog.show();

            }
        });


public static String getHTML(String videoId) {

        String html = "<iframe class=\"youtube-player\" "
                + "style=\"border: 0; width: 100%; height: 90%;"
                + "padding:0px; margin:0namepx\" "
                + "id=\"ytplayer\" type=\"text/html\" "
                + "src=\"http://www.youtube.com/embed/" + videoId
                + "?fs=0\" frameborder=\"0\" " + "allowfullscreen autobuffer "
                + "controls onclick=\"this.play()\">\n" + "</iframe>\n";

        /**
         * <iframe id="ytplayer" type="text/html" width="640" height="360"
         * src="https://www.youtube.com/embed/WM5HccvYYQg" frameborder="0"
         * allowfullscreen>
         **/

        return html;
    }

如上图所示,未显示任何内容,但视频搜索栏不断增加(但未显示任何内容,我使用的是API 17和480*800(WVGA)),下面是我的代码:-

代码

movie_image_movie_link.setOnClickListener(new OnClickListener() {

            @SuppressLint("SetJavaScriptEnabled")
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                final Dialog dialog = new Dialog(act);
//              dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                dialog.setContentView(R.layout.show_video_from_youtube);
                dialog.setTitle("YouTube Video");
                WebView video = (WebView) dialog.findViewById(R.id.webview);


                video.getSettings().setJavaScriptEnabled(true);
                video.getSettings().setPluginState(WebSettings.PluginState.ON);
                // video.getSettings().setUserAgent(0);
                video.setWebChromeClient(new WebChromeClient() {
                });

                String id = StringUtils.substringBetween(
                        MovieJSONObjectHandle.youtube_link,
                        "www.youtube.com/watch?v=", "&amp");

                System.out.println("url => "
                        + Uri.parse("http://www.youtube.com/v/" + id)
                                .toString());

                final String mimeType = "text/html";
                final String encoding = "UTF-8";
                String html = getHTML(id);
                video.loadDataWithBaseURL("", html, mimeType,
                        encoding, "");

                dialog.show();

            }
        });


public static String getHTML(String videoId) {

        String html = "<iframe class=\"youtube-player\" "
                + "style=\"border: 0; width: 100%; height: 90%;"
                + "padding:0px; margin:0namepx\" "
                + "id=\"ytplayer\" type=\"text/html\" "
                + "src=\"http://www.youtube.com/embed/" + videoId
                + "?fs=0\" frameborder=\"0\" " + "allowfullscreen autobuffer "
                + "controls onclick=\"this.play()\">\n" + "</iframe>\n";

        /**
         * <iframe id="ytplayer" type="text/html" width="640" height="360"
         * src="https://www.youtube.com/embed/WM5HccvYYQg" frameborder="0"
         * allowfullscreen>
         **/

        return html;
    }
movie\u image\u movie\u link.setOnClickListener(新的OnClickListener(){
@SuppressLint(“SetJavaScriptEnabled”)
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
最终对话=新对话(act);
//对话框.requestWindowFeature(窗口.FEATURE\u无\u标题);
setContentView(R.layout.show_video_from_youtube);
setTitle(“YouTube视频”);
WebView video=(WebView)dialog.findviewbyd(R.id.WebView);
video.getSettings().setJavaScriptEnabled(true);
video.getSettings().setPluginState(WebSettings.PluginState.ON);
//video.getSettings().setUserAgent(0);
video.setWebChromeClient(新WebChromeClient(){
});
String id=StringUtils.substringBetween(
MovieJSONObjectHandle.youtube\u链接,
“www.youtube.com/watch?v=“,”&”);
System.out.println(“url=>”
+解析http://www.youtube.com/v/“+id)
.toString());
最终字符串mimeType=“text/html”;
最终字符串编码=“UTF-8”;
字符串html=getHTML(id);
video.loadDataWithBaseURL(“),html,mimeType,
编码“”;
dialog.show();
}
});
公共静态字符串getHTML(字符串videoId){
字符串html=“\n”+“\n”;
/**
* 
**/
返回html;
}
也可以尝试视频而不是iframe,但仍然存在相同的问题:-

String html = "<video id=\"video\" width=\"320\" height=\"240\" src=\"http://www.youtube.com/embed/" + videoId
+ "autobuffer controls onclick=\"this.play();\">";
String html=“试试这个:

    webView = (WebView) findViewById(R.id.webView);

    mWebViewClient = new myWebViewClient();
    webView.setWebViewClient(mWebViewClient);

    mWebChromeClient = new myWebChromeClient();
    webView.setWebChromeClient(mWebChromeClient);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setAppCacheEnabled(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSaveFormData(true);
   webView.loadUrl("http://m.youtube.com");  // your web url
    webView = (WebView) findViewById(R.id.webView);

    mWebViewClient = new myWebViewClient();
    webView.setWebViewClient(mWebViewClient);

    mWebChromeClient = new myWebChromeClient();
    webView.setWebChromeClient(mWebChromeClient);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setAppCacheEnabled(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSaveFormData(true);
   webView.loadUrl("http://m.youtube.com");  // your web url