5

我有网上存档。我正在尝试使用media player using live streaming. 但是媒体播放器给出了一个error (-1,1004) 我认为我的媒体播放器没有得到正确的 url,因为它包含阿拉伯字符所以我尝试用 Html.encode 或 UrlEncoder 类对其进行编码仍然得到同样的错误。

因此,最后我在 webview 中加载了该 url,并在页面加载完成时将网页 url 传递给媒体播放器。

    WebView webView = new WebView(SongActivity.this);
        webView.setSoundEffectsEnabled(false);
        webView.loadUrl("MY URL");
        webView.setWebViewClient(new WebViewClient() {
            public void onPageFinished(WebView view, String url) {

                try {

                playerService.startPlay(url );// this passes url to media player and url will be played using media player

                } catch (IllegalArgumentException e) {
                    e.printStackTrace();
                } catch (IllegalStateException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            };

            public void onPageStarted(WebView view, String url,
                    android.graphics.Bitmap favicon) {
                System.out.println("Decoding url:" + strURl);
            };
        });

它工作正常,也可以播放歌曲,但这不是标准的。对于普通 url(没有阿拉伯字符)媒体播放器代码工作得很好。

你能给我一些标准的解决方案吗???

4

1 回答 1

1

根据错误代码 (-1,1004),您似乎可能会收到 HTTP 403 Forbidden 作为来自服务器的答案。你以前试过Uri.encode(String) .toString()mediaPlayer.setDataSource(String url)吗?

来自https://stackoverflow.com/a/4571518/262462

不要使用 URLEncoder 类!尽管名称如此,但该类实际上是进行 HTML 表单编码,而不是 URL 编码。

于 2013-02-27T12:51:31.143 回答