【问题标题】:How to parse content of URL from http://www.cda.pl/video/videoId and will fetch video URL如何从 http://www.cda.pl/video/videoId 解析 URL 的内容并获取视频 URL
【发布时间】:2016-08-01 09:10:48
【问题描述】:

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

【问题讨论】:

    标签: java android video


    【解决方案1】:

    经过多天的 RND 我找到了解决方案,CDA.PL 是第三方服务器,它不提供任何 api,而且它的视频网址在一天左右到期,所以我们不能直接使用视频网址,但每次都来自 @987654321 @ 按以下方式使用 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.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 2020-08-11
      • 2019-07-21
      • 2017-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多