Я пишу приложение для Android, которое пытается воспроизвести звуковой эффект при нажатии кнопки.При первом нажатии кнопки после перезагрузки телефона эффект не воспроизводится.Он работает нормально во второй раз, если активность перезапускается и т.д.Я также просмотрел различную документацию по MediaPlayer, но вызов не выглядит асинхронным.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MediaPlayer mp =
MediaPlayer.create(
getApplicationContext(), R.raw.positive);
Handler handler = new Handler();
if(!mp.isPlaying()) {
mp.start();
}
handler.postDelayed(
() -> mButton.setText("-" + mButton.getText()), 1000);
}
});
}
}
Это наиболее сжатая репликация, поэтому он пропускает различные вызовы mplayer.release ().Почему не будет звука после перезагрузки системы?