Сбой приложения Android при вызове onPause
Здравствуйте, я новичок в разработке Android, я использую Eclipse, и я разрабатывал некоторые деки. моя проблема заключается в следующем:
public class BernardsActivity extends Activity {
MediaPlayer eileanBeag;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bernards_layout);
Button eileanBeagButton = (Button) findViewById(R.id.ButtonB1);
eileanBeagButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
eileanBeag = MediaPlayer.create(getApplicationContext(), R.raw.eilean_beag);
eileanBeag.start();
}
});
***public void onPause() {
eileanBeag.release();
}***
}
приложение работает нормально, все аудио воспроизводится нормально, но когда я покидаю приложение с помощью кнопки "назад", оно говорит мне, что процесс неожиданно остановился, и мне нужно принудительно завершить работу.
метод работает нормально, когда я определяю MediaPlayer вне метода onCreate, но я хочу использовать много звуков, и чтобы сократить время загрузки, я определяю его только после нажатия кнопки.
Я попытался использовать OnCompleteListener, и он, кажется, работает, но затем он отключает мой звуковой клип рано.
поэтому любая помощь по этому вопросу будет очень цениться.
Благодарю.
3 ответа
Единственное, что похоже на проблему, это перед звонком eileanBeag.release();
ты должен позвонить eileanBeag.stop();
, Вы не можете напрямую освободить игрока во время игры. Также вы пропали без вести super.onPause();
Должно быть так:
public void onPause() {
super.onPause();
eileanBeag.pause();
}
protected void onDestroy() {
super.onDestroy();
if(eileanBeag != null) {
eileanBeag.stop();
eileanBeag.release();
}
}
Вам нужно позвонить super.onPause()
как первое утверждение внутри вашего onPause
метод