Android 从链接流式播放mp3

Android 从链接流式播放mp3,android,mp3,android-mediaplayer,Android,Mp3,Android Mediaplayer,我正在尝试建立一个应用程序,可以从网络流mp3内容。当我运行此代码时,我没有收到任何错误,但没有播放音频。有什么帮助吗?谢谢 private MediaPlayer mediaPlayer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initV

我正在尝试建立一个应用程序,可以从网络流mp3内容。当我运行此代码时,我没有收到任何错误,但没有播放音频。有什么帮助吗?谢谢

       private MediaPlayer mediaPlayer;



@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();
try {

    mediaPlayer.setDataSource("my link.mp3"); // 
    mediaPlayer.prepareAsync();
    //mediaPlayer.prepare(); // 
 if(! mediaPlayer.isPlaying())
 {
  mediaPlayer.start();
 }

    } catch (Exception e) {

    e.printStackTrace();

    }
}




private void initView() {

mediaPlayer = new MediaPlayer();


}
}

//如果需要异步操作,请使用mediaPlayer.prepareAsync

  mediaPlayer.start();


    } catch (Exception e) {

    e.printStackTrace();

    }
}
试试这个:

  ProgressDialog progressDialog = ProgressDialog
                .show(this, "Loading ", "Please Wait...");
        progressDialog.setCancelable(false);
    MediaPlayer player = new MediaPlayer();
            player.setAudioStreamType(AudioManager.STREAM_MUSIC);
            try {
                player.setDataSource("http://my link.mp3");
                player.setOnErrorListener(this);
                player.setOnPreparedListener(this);
                player.prepareAsync();
            } catch (IllegalArgumentException e) {
                Toast.makeText(YourActivity.this,
                        "Internet Access is not Provided", 0).show();
                e.printStackTrace();
            } catch (IllegalStateException e) {
                Toast.makeText(YourActivity.this,
                        "Internet Access is not Provided", 0).show();
                e.printStackTrace();
            } catch (IOException e) {
                Toast.makeText(YourActivity.this,
                        "Internet Access is not Provided", 0).show();
                e.printStackTrace();
            }


    @Override
    public void onPrepared(MediaPlayer play) {
        if (progressDialog != null && progressDialog.isShowing()) {
            progressDialog.dismiss();
        }
        play.start();
    }

    @Override
    public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
        if (progressDialog != null && progressDialog.isShowing()) {
            progressDialog.dismiss();
        }
        if (player != null) {
            player.release();
            player = null;
        }       
        return false;
    }
  ProgressDialog progressDialog = ProgressDialog
                .show(this, "Loading ", "Please Wait...");
        progressDialog.setCancelable(false);
    MediaPlayer player = new MediaPlayer();
            player.setAudioStreamType(AudioManager.STREAM_MUSIC);
            try {
                player.setDataSource("http://my link.mp3");
                player.setOnErrorListener(this);
                player.setOnPreparedListener(this);
                player.prepareAsync();
            } catch (IllegalArgumentException e) {
                Toast.makeText(YourActivity.this,
                        "Internet Access is not Provided", 0).show();
                e.printStackTrace();
            } catch (IllegalStateException e) {
                Toast.makeText(YourActivity.this,
                        "Internet Access is not Provided", 0).show();
                e.printStackTrace();
            } catch (IOException e) {
                Toast.makeText(YourActivity.this,
                        "Internet Access is not Provided", 0).show();
                e.printStackTrace();
            }


    @Override
    public void onPrepared(MediaPlayer play) {
        if (progressDialog != null && progressDialog.isShowing()) {
            progressDialog.dismiss();
        }
        play.start();
    }

    @Override
    public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
        if (progressDialog != null && progressDialog.isShowing()) {
            progressDialog.dismiss();
        }
        if (player != null) {
            player.release();
            player = null;
        }       
        return false;
    }