Делайте все это в фоновом потоке, пока экземпляр медиаплеера не подготовит ресурс для воспроизведения и покажет индикатор выполнения до этого времени
//progressDialog
Thread th=new Thread(new Runnable() {
@Override
public void run() {
MediaPlayer md=new MediaPlayer();
try {
md.setDataSource("Path");
md.prepareAsync();
md.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//send message to handler
}
});
th.start();
//and then dissmiss dialog in handler class
Обновление
Чтобы знатькогда медиаплеер будет готовить
md.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
//Now your media player is ready to play
}
});