2013-04-17 25 views
0

我的问题是你如何解散ProgressDialog,如果MP3已经播放?如何解散progressdialog,如果mp3已经在android中播放

请查阅我所到目前为止已经试过:

mediaPlayer.setDataSource(timelessFuture); 
mediaPlayer.prepare(); 

// gets the song length in milliseconds from URL 
mediaFileLengthInMilliseconds = mediaPlayer.getDuration(); 
progressDialog = ProgressDialog.show(this, "Downloading", "Please wait while podcast is being downloaded..."); 

if(!mediaPlayer.isPlaying()){ 
    mediaPlayer.start(); 
    play.setCompoundDrawablesWithIntrinsicBounds(R.drawable.button_pause, 0, 0, 0); 
} else { 
    mediaPlayer.pause(); 
    play.setCompoundDrawablesWithIntrinsicBounds(R.drawable.button_play, 0, 0, 0); 
} 

primarySeekBarProgressUpdater(); 

什么我这里缺少什么?

回答

0

打开始时,使用

progressDialog.dismiss(); 
+0

我想要的就像一个asynctask,但我使用mediaplayer播放来自url的mp3文件。我怎么能做到这一点? –

0

而不是mediaPlayer.prepare();可以使用mediaPlayer.prepareAsync();异步方式工作。

但是,您需要实施OnPreparedListener您的活动或服务。之后你还需要说mediaPlayer.setOnPreparedListener(this);。所以基本上,当媒体播放器准备好时,准备好了,它会转到下面的方法。所以你可以像下面那样解雇你的进度对话框。

@Override 
public void onPrepared(MediaPlayer mp) { 
    mediaPlayer.start(); 
    progressDialog.dismiss(); 
}