2011-05-16 198 views
3

我使用此代碼來傳輸音頻。但它沒有奏效。在Android中流式傳輸音頻

public class MediaPlayerAudio extends Activity implements OnClickListener, 
     OnPreparedListener, OnErrorListener { 

      MediaPlayer mp; 

      public v 

oid onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      Button bt = (Button)findViewById(R.id.play); 
      bt.setOnClickListener(this); 
     } 



     @Override 
     public void onPrepared(MediaPlayer mp) { 
      Log.i("radio", "prepare finished"); 
      mp.start(); 

     } 


     @Override 
     public void onClick(View v) { 
      try 
       { 
        mp = new MediaPlayer(); 
        mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
        mp.setOnPreparedListener(this); 
        mp.setOnErrorListener(this); 
        mp.setDataSource("http://stream1.tanitweb.com/rtci"); 
        mp.prepareAsync(); 
       } 
       catch(Exception e) 
       { 
        Log.e("radio", e.getMessage()); 
       } 

     } 



     @Override 
     public boolean onError(MediaPlayer mp, int what, int extra) { 
      // TODO Auto-generated method stub 
      return false; 
     } 

     }} 

在點擊按鈕,我有這樣的錯誤

05-15 09:31:14.360: ERROR/PlayerDriver(30): Command PLAYER_INIT completed with an error or info PVMFErrCorrupt 
05-15 09:31:14.371: ERROR/MediaPlayer(330): error (1, -10) 
05-15 09:31:14.371: ERROR/MediaPlayer(330): Error (1,-10) 

回答

0

看來你要播放的媒體格式不支持的Android。 Here是支持所有格式的表格,看起來ASF不在其中。我試過你的網址,它指向rtci.asf

+0

我用mp3測試了代碼,同樣的錯誤依然存在。 – foffa 2011-05-16 14:11:05

+0

你使用的是什麼http服務器? – 2011-05-16 14:14:02

+0

我把文件很容易php – foffa 2011-05-16 14:59:31