に連続してサウンドを再生するときには、私がここで問題Playing multiple files in MediaPlayer one after other In androidアプリのクラッシュのMediaPlayer
私はそれを実行すると、3つの音が再生さへの答えとして、次のコードを見つけましたが、その後アプリがメッセージ
を閉じ残念ながら、アプリケーションは停止しました。
onCompletion
メソッドには何かがありますか?
public class MainActivity extends Activity implements MediaPlayer.OnCompletionListener {
int[] tracks = new int[3];
int currentTrack = 0;
private MediaPlayer mediaPlayer = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tracks[0] = R.raw.p46;
tracks[1] = R.raw.p52;
tracks[2] = R.raw.p55;
mediaPlayer = MediaPlayer.create(getApplicationContext(), tracks[currentTrack]);
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.start();
}
public void onCompletion(MediaPlayer arg0) {
arg0.release();
if (currentTrack < tracks.length) {
currentTrack++;
arg0 = MediaPlayer.create(getApplicationContext(), tracks[currentTrack]);
arg0.setOnCompletionListener(this);
arg0.start();
}
}
私はこれがあなたのifステートメントのエラーだと思います。範囲チェックの後に 'currentTrack'をインクリメントしているため、範囲外の例外が発生します。 – Jack
あなたのonCompletionメソッドの 'arg0.setOnCompletionListener(this);'からエラーが来ていると思いますが、最初の曲の後にエラーがスローされないかどうか確認してください。 –