1

我想在 MediaPlayer 对象上从 Internet 加载音频文件。

这是我的代码:

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

但问题是加载音频需要很多时间。

帮助我在加载音频之前显示一个旋转的进度对话框。

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

4

2 回答 2

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();
         }
     });
于 2013-02-02T09:54:41.507 回答
1

不是很重复,但是这个问题在准备时有一个进度条,修改为进度对话框或其他东西会“相当”容易:

媒体播放器准备时的进度条

于 2013-02-02T09:53:23.360 回答