0

私の質問は、mp3 が既に再生されている場合、どのように ProgressDialog を閉じるのですか?

私がこれまでに試したことを確認してください:

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();

ここで何が欠けていますか?

4

2 に答える 2

0

プレイ開始時に使用

progressDialog.dismiss();
于 2013-04-17T12:41:38.267 に答える
0

代わりに、非同期で動作する whichmediaPlayer.prepare();を使用できます。mediaPlayer.prepareAsync();

OnPreparedListenerただし、アクティビティまたはサービスに実装する必要があります。その後、あなたも言う必要がありますmediaPlayer.setOnPreparedListener(this);。したがって、基本的にメディアプレーヤーの準備が整うと、以下の方法に進みます。したがって、以下のように進行状況ダイアログを閉じることができます。

@Override
public void onPrepared(MediaPlayer mp) {
    mediaPlayer.start();
    progressDialog.dismiss();
} 
于 2013-04-18T13:24:18.750 に答える