不支持网址编码

Swa*_*ukh 5 android http urlencode android-mediaplayer

我有在线档案.我正在尝试使用它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);
            };
        });
Run Code Online (Sandbox Code Playgroud)

它工作正常,也能播放歌曲,但这不是标准的.对于普通网址(没有阿拉伯字符),媒体播放器代码运行良好.

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

Kui*_*tsi 1

根据错误代码 (-1,1004),您可能会从服务器得到 HTTP 403 Forbidden 作为答案。您之前尝试过Uri.encode(String) .toString()吗mediaPlayer.setDataSource(String url)

来自/sf/answers/320006291/

不要使用 URLEncoder 类!尽管有这个名称,该类实际上执行 HTML 形式编码,而不是 URL 编码。