2013-02-18 116 views
5

我有在線文件​​。我試圖用media player using live streaming播放它。但是,媒體播放器給出了一個error (-1,1004) 我覺得我的媒體播放器沒有得到正確的URL,因爲它包含阿拉伯字符,所以我嘗試編碼它了Html.Encode或URLEncoder的類仍然得到同樣的錯誤。不支持網址編碼

因此,最後我在webview和網頁加載完成後,我將網址加載到媒體播放器。

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); 
      }; 
     }); 

它的工作正常,也能播放歌曲,但這不是標準的。 對於普通的網址(沒有阿拉伯字符)的媒體播放器代碼工作得很好。

你能給我提供一些標準的解決方案嗎?

回答

1

基於錯誤代碼(-1,1004)看來你可能會禁止從服務器的應答HTTP 403。您是否在mediaPlayer.setDataSource(String url)之前嘗試過Uri.encode(String) .toString()?

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

不要使用URLEncoder的類!儘管名稱,該類實際上是HTML表單編碼,而不是URL編碼。

+0

其工作,但仍然我得到錯誤(1,-2147483648)。爲此,我越過了驗證我的網址,所以Uri.encode()插入一些額外的字符。 – 2013-02-27 16:23:49

+0

我找不到任何對錯誤代碼-2147483648的引用。你有什麼進入LogCat?也許有一些暗示那個錯誤的含義。 – Kuitsi 2013-02-27 17:25:40

+0

在logcat中只顯示MediaPlayer錯誤(1,-2147483648)。沒有其他的。即使應用程序不崩潰。 – 2013-02-28 14:32:22