2011-05-19 20 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