2011-08-10 118 views

回答

1
public void startRadio(String streamUrl) { 
     MediaPlayer mPlayer = new MediaPlayer(); 
     mPlayer.setOnErrorListener(
      new MediaPlayer.OnErrorListener() { 
       public boolean onError(MediaPlayer mp, int what, int extra) { 
        Log.e(getClass().getName(), "Error in MediaPlayer: (" + what +") with extra (" +extra +")"); 
       } 
      }); 

    try { 
     mPlayer.setDataSource(streamUrl); 
     mPlayer.prepare(); 
     mPlayer.start(); 
    } catch (IllegalArgumentException e) { 
     Log.e(getClass().getName(), "IllegalArgumentException"); 
    } catch (IllegalStateException e) { 
     Log.e(getClass().getName(), "IllegalStateException"); 
    } catch (IOException e) { 
     Log.e(getClass().getName(), "IOException"); 
    } 
} 

快速複製粘貼..

+0

你肯定這會工作嗎?我在三星手機上嘗試過這種方法,它總是會拋出準備,並以錯誤的狀態異常進行調用。你知道任何其他方法可以在所有手機上播放實況廣播網址嗎? – anujprashar

+0

是的,我確定..我在一個名爲「Twizz」的應用程序中使用該代碼,該應用程序在我測試過的所有設備上播放音樂..現在就在我的Samsung SGS2上試用。 我確實有一些其他的檢查和更明智的日誌..但基本上是這樣。 也許,嘗試與另一個URL? (請確保您不要使用我的代碼調用MediaPlayer.create()) –

+0

我試過了,它不起作用!它給了我'IOException:setDataSource失敗:狀態= 0x80000000'。有任何想法嗎? – iTurki

3
try 
    { 
     MediaPlayer media = new MediaPlayer(); 
     media.setAudioStreamType(AudioManager.USE_DEFAULT_STREAM_TYPE); 
     media.setDataSource("http://indiespectrum.com:9000"); 
     media.prepare(); 
     media.start(); 

    } 
    catch(Exception e) 
    { 
     //Getting Exception 
    } 
+0

你應該接受這個答案! – sandalone