あなたのやりたいことが正しいかどうかはわかりません。UI スレッドをブロックしても何も起こらず、一部の音楽しか再生されていない場合、ユーザーは何かがおかしいと感じ、正しく機能していないと感じる可能性があります。
スプラッシュが表示されている、コンテンツがダウンロードされている、または何かが起こっているときに音楽を再生する方が良いでしょう。
myPlayer.setOnCompletionListener
音楽が完成した後に実行する必要があるイベント/メソッドを呼び出すために@Manuが言ったように使用します。次のようなことをしなければなりません:
public class MyActivity extends Activity {
private MusicPlayer mp;
protected void onCreate(...) {
super.onCreate(...);
mp = new MusicPlayer();
mp.setDataSource("source");
mp.setOnCompletionListener(
new OnCompletionListener() {
onCompletion(MediaPlayer player) {
otherMethod();
}
});
}
protected void onResume() {
super.onResume();
playMusic();
}
private void playMusic() {
mp.prepare();
mp.start();
}
// Called when the music is finished.
private void otherMethod() {
// Do something.
}
}