如何从http://www.cda.pl/video/videoId解析URL的内容,并将获取视频URL

时间:2016-08-01 09:10:48

标签: java android video

我需要播放来自http://www.cda.pl的视频,该视频会从网络服务响应中提取网址,例如http://www.cda.pl/video/videoId,但我的问题是如何从此链接中找到视频网址? Cda是第三方服务器,如youTube但不提供任何API或库,所以请帮助我。

1 个答案:

答案 0 :(得分:0)

经过多天RND我找到了解决方案,CDA.PL是第三方服务器,它不提供任何API,并且其视频网址在一天后到期,因此我们不能直接使用视频网址,但每次都来自{{ 3}}使用Webview按照以下方式在Player中播放视频URL。

     public void getVideoPath(String path) {
        if (progressDialog == null) {
                // in standard case YourActivity.this
                progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setMessage("Loading...");
                progressDialog.show();
            }
            webView.getSettings().setJavaScriptEnabled(true);
            webView.getSettings().setLoadWithOverviewMode(true);
            webView.getSettings().setUseWideViewPort(true);
            webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
            webView.setScrollbarFadingEnabled(false);
            webView.getSettings().setBuiltInZoomControls(true);
            webView.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
            webView.setWebViewClient(new WebViewClient() {


                //If you will not use this method url links are opeen in new brower not in webview
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    view.loadUrl(url);
                    return true;
                }

                //Show loader on url load
                public void onLoadResource(WebView view, String url) {

                }

                public void onPageFinished(WebView view, String url) {
                    try {
                        webView.loadUrl("javascript:window.HTMLOUT.processHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
                    } catch (Exception exception) {
                        exception.printStackTrace();
                    }
                }

            });
            webView.loadUrl(path);

        }

        class MyJavaScriptInterface {
            @JavascriptInterface
            @SuppressWarnings("unused")
            public void processHTML(String html) {

                int start = html.indexOf("class=\"player-video\" src=\"");
                int end = html.indexOf("\" preload=\"metadata\"");
                String finalUrl = html.substring((start + 26), (end));
                playUrl(finalUrl);
            }

        }
try it.