2011-05-19 76 views
2

我使用的是Android 2.3,所以根據這個帖子:Streaming Audio from A URL in Android using MediaPlayer?流應該工作。我正在使用來自kexp.org的經過驗證的mp3流。已知流媒體MP3鏈接,正確的Android版本。流媒體有什麼問題?

05-19 13:29:17.141: INFO/StagefrightPlayer(68): setDataSource('http://kexp-mp3-1.cac.washington.edu:8000') 
05-19 13:29:17.141: INFO/AwesomePlayer(68): prepare was cancelled before doing anything 


    try { 
      mp = new MediaPlayer(); 
      mp.reset(); 
      mp.setOnPreparedListener(new OnPreparedListener() { 
       @Override 
       public void onPrepared(MediaPlayer mp) { 
        mp.start(); 

       } 
      }); 
      mp.setDataSource("http://kexp-mp3-1.cac.washington.edu:8000"); 
      mp.prepareAsync(); 
     } catch (IllegalArgumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } finally { 
      if(mp!=null) { 
       mp.release(); 
       mp =null; 
      } 
     } 

回答

1
+0

我只接受的解決方案。而你的答案是我嘗試了幾十次,而這一次,我失敗了。 05-19 13:48:02.921:05-19 13:48:02.931:INFO/NuHTTPDataSource(68):connect to kexp-mp3-1.cac.washington.edu:8000/ @ 0 05-19 13:48 :03.760:WARN/NuHTTPDataSource(68):服務器沒有給我們的內容長度! 05-19 13:48:36.401:WARN/TimedEventQueue(68):事件3在隊列中未找到,是否已被取消? 05-19 13:48:42.150:WARN/libutils.threads(68):Thread(this = 0x12560):不要從這個Thread對象的線程中調用waitForExit()。這是一個保證的僵局! – hunterp 2011-05-19 17:49:41

+0

有趣。這只是一個想法。我知道Android會傾向於不喜歡它的URL中的端口。嘗試沒有端口。 我所做的所有Android流媒體都是使用MediaPlayer的包裝,所以我沒有關於這個特定主題的專家。 – 2011-05-19 17:53:49

+1

@hunterp是否曾經在URL字符串中沒有端口號的情況下嘗試過? – 2011-05-22 18:25:06