如何在MediaPlayer obj上加载音频时显示进度对话框

时间:2013-02-02 09:44:19

标签: android media-player progressdialog

我想在MediaPlayer对象上从互联网加载音频文件。

这是我的代码:

try {
    mp.setDataSource(AUDIO URL);
    mp.prepare();
    mp.start();
}
catch (IOException e) { e.printStackTrace(); }
catch (IllegalArgumentException e) { e.printStackTrace(); }
catch (IllegalStateException e) { e.printStackTrace(); }

但问题是它需要花费大量时间加载音频。

帮助我在将音频加载到之后显示旋转进度对话框。

如果问题不完整,请告诉我完成减少。

2 个答案:

答案 0 :(得分:3)

您需要将MediaPlayer.OnPreparedListener添加到MediaPlayer,以便在准备时显示进度对话框:

ProgressDialog progressDialog = ProgressDialog.show(this, 
                            "Loading Title", "Loading Message");
mp.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
               if (progressDialog != null && progressDialog.isShowing()){
                  progressDialog.dismiss();
               }
                mp.start();
         }
     });

答案 1 :(得分:1)

不完全重复,但这个问题在准备时有一个进度条,修改进度对话框或其他东西会“非常”容易:

Progress Bar while media player is preparing