2013-06-19 46 views
2

我試圖從Android設備上聽流。 聽這個流在我測試的所有設備(銀河s我,索尼等),但出於某種原因不在Galaxy SIII上運行良好android 4.1.2Android MediaPlayer prepareAsync在Galaxy SIII上與Android 4.1.2失敗

我有一個包裝類來控制媒體播放器,但代碼翻譯這個標準代碼:

mediaPlayer = new MediaPlayer(); 
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    mediaPlayer.setDataSource("http://46.105.122.141:3634/"); 

    mediaPlayer.setOnPreparedListener(new OnPreparedListener() { 
    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
    } 
}); 
    mediaPlayer.prepareAsnyc(); 

所以,這個效果很好在我測試的所有其他設備,但是,銀河SIII之後在〜prepareAsync30秒我得到一個介質錯誤(-1,1004)準備失敗的錯誤。

如果我改變流URL與當地的無線電

mediaPlayer.setDataSource("http://stream2.srr.ro:8000/"); 

流正常工作也在銀河SIII。

唯一的區別i中的兩個流

http://46.105.122.141:3634/

http://stream2.srr.ro:8000/

  1. 之間看到的是,一個一個提供IP,另一個提供一個域名。

  2. 港是不同的(3024vs 8000)

我想不通,爲什麼這並未對星系SIII將不起作用。

你能幫忙嗎?

謝謝!

編輯:

下面是日誌: 我看到「這不是一個DRM內容」,我不知道這意味着什麼。

有「緩存已達到EOS,準備完成」。信息。

任何想法可能是什麼原因?

06-19 21:57:32.180: V/AwesomePlayer(1919): setDataSource_l: Audio(1), Video(0) 
06-19 21:57:32.180: I/AwesomePlayer(1919): AwesomePlayer::setDataSource_l():: This is not a DRM content 
06-19 21:57:32.180: I/OMXCodec(1919): Create() mime = audio/mpeg, isAlpAudio = 1 
06-19 21:57:32.185: D/dalvikvm(2278): GC_FOR_ALLOC freed 2K, 24% free 45614K/59911K, paused 108ms, total 109ms 
06-19 21:57:32.185: W/SignalStrength(2643): getGsmLevel=4 
06-19 21:57:32.190: W/SignalStrength(2643): getLevel=4 (SignalStrength: 11 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 gsm|lte 4) 
06-19 21:57:32.190: W/SignalStrength(2643): getGsmLevel=4 
06-19 21:57:32.190: W/SignalStrength(2643): getLevel=4 (SignalStrength: 11 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 gsm|lte 4) 
06-19 21:57:32.190: I/OMXCodec(1919): Successfully allocated and configured OMX node 'OMX.SEC.MP3.Decoder , mIsALPrunning =0' 
06-19 21:57:32.190: D/STATUSBAR-NetworkController(2643): onSignalStrengthsChanged signalStrength=SignalStrength: 11 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 gsm|lte 4 level=4 
06-19 21:57:32.190: D/STATUSBAR-NetworkController(2643): refreshSignalCluster: data=0 bt=false 
06-19 21:57:32.190: D/STATUSBAR-SignalClusterView(2643): mSeparateMobileGroup=8 
06-19 21:57:32.190: D/STATUSBAR-SignalClusterView(2643): mSeparateMobileGroup=8 
06-19 21:57:32.190: D/STATUSBAR-SignalClusterView(2643): mSeparateMobileGroup=8 
06-19 21:57:32.200: W/SignalStrength(2278): getGsmLevel=4 
06-19 21:57:32.210: W/SignalStrength(2278): getLevel=4 (SignalStrength: 11 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 gsm|lte 4) 
06-19 21:57:32.210: I/ActivityManager(2278): Process com.google.android.apps.maps (pid 18691) (adj 8) has died. 
06-19 21:57:32.215: I/ActivityManager(2278): Process com.facebook.katana (pid 16373) (adj 8) has died. 
06-19 21:57:32.240: W/SignalStrength(2278): getGsmDbm=-91 
06-19 21:57:32.240: W/SignalStrength(2278): getDbm=-91 
06-19 21:57:32.240: W/SignalStrength(2278): getGsmAsuLevel=11 
06-19 21:57:32.240: W/SignalStrength(2278): getAsuLevel=11 
06-19 21:57:32.295: D/AwesomePlayer(1919): cache has reached EOS, prepare is done. 
06-19 21:57:32.295: W/AwesomePlayer(1919): abortPrepare() mIsAsyncPrepare (1), err (-2147483648) 
06-19 21:57:32.295: V/AwesomePlayer(1919): notifyListner_l() msg (100-MEDIA_ERROR), ext1 (1), ext2 (-2147483648) 
06-19 21:57:32.295: E/AwesomePlayer(1919): return http streaming network error 
06-19 21:57:32.295: V/MediaPlayerService(1919): [238] notify (0x41f61fa8, 100, 1, -1004) 
06-19 21:57:32.410: V/MediaPlayer(19075): message received msg=100, ext1=1, ext2=-1004 
06-19 21:57:32.410: E/MediaPlayer(19075): error (1, -1004) 
06-19 21:57:32.410: V/MediaPlayer(19075): signal application thread 
06-19 21:57:32.410: V/MediaPlayer(19075): prepare complete - status=1 
+0

你知道流的格式/編碼是什麼嗎? –

+0

@KenWolf是的,它的MP3 16 kbps –

回答

0

06-19 21:57:32.295:V/MediaPlayerService(1919):[238]通知(0x41f61fa8,100,1,-1004)

予跨越此確切來到我的問題是我在後面的防火牆,不允許一個流量端口上的一個流量。