2013-02-04 19 views
-1

我用:如何獲取Android設備版本3.0以下的直播音頻?

player = new MediaPlayer(); 
    try { 
     player.setDataSource(str_stream_url); 
     // player.setDataSource("http://cdn.concreteloop.com/wp-content/uploads/2011/01/Jennifer-Lopez-feat.-Pitbull-On-the-Floor.mp3"); 
    } catch (IllegalArgumentException e) { 
     e.printStackTrace(); 
    } catch (IllegalStateException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    player.setOnBufferingUpdateListener(new OnBufferingUpdateListener() { 

     public void onBufferingUpdate(MediaPlayer mp, int percent) { 
      playSeekBar.setSecondaryProgress(percent); 
      Log.i("Buffering", "" + percent); 
     } 
    }); 

它的工作中的Android 4.0版本,但它不是在安卓2.3.3工作..

我能做些什麼?

Thx。

+0

「不工作」_以什麼方式_? logcat輸出中是否有任何異常或其他相關錯誤? – Michael

+0

我在Logcat中看到了以下錯誤: 02-06 13:08:29.440:E/MediaPlayer(2448):開始在狀態4中調用 02-06 13:08:29.440:E/MediaPlayer(2448)錯誤(-38,0) 02-06 13:08:29.460:E/MediaPlayer(2448):錯誤(-38,0) – juniorCoder

+0

'在狀態4開始調用'意味着您在調用'start'之前'prepareAsync'已完成。在準備完成時,您應該使用[onPreparedListener](https://developer.android.com/reference/android/media/MediaPlayer.OnPreparedListener.html)接收回調,並且在此之前不要調用「start」。 – Michael

回答

1

另外我在Android 2.3.3中試過這段代碼,但它沒有工作..最後你可以看到錯誤。

Uri myUri = Uri 
      .parse("http://46.137.18.79:8000/;stream.nsv&type=mp3&autostart=true"); 

    player = new MediaPlayer(); 
    try { 
     if (player == null) { 
      this.player = new MediaPlayer(); 
     } else { 
      player.stop(); 
      player.reset(); 
     } 
     player.setDataSource(this, myUri); // Go to Initialized state 
     player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     player.setOnPreparedListener(this); 
     player.setOnBufferingUpdateListener(this); 

     player.setOnErrorListener(this); 
     player.prepareAsync(); 

     Log.d(TAG, "LoadClip Done"); 
    } catch (Throwable t) { 
     Log.d(TAG, t.toString()); 
    } 

02-06 13:49:03.730:E/MediaPlayer的(2718)時,停止叫在狀態1

02-06 13:49:03.730:E/MediaPlayer的(2718):錯誤( -38,0)

02-06 13:49:03.730:d/MediaPlayer的(2718):可以在客戶機側沒有打開文件,試圖服務器側

02-06 13:49:03.870: D/MyMain(2718):LoadClip Done

Thx。

+0

我試過它在Android 4.0.3,它的工作..但在Android 2.3.3或2.1或2.2等..它沒有工作.. – juniorCoder

相關問題