Хорошо, поэтому я предполагаю, что у вас есть ListActivity
с полным количеством песен, и пользователи нажимают на любой из них, он переходит на новый Activity
, чтобы воспроизвести песню, в которой информация о песне передается через Intent
.
Прежде всего, вам нужно прочитать и запомнить Activity Lifecycle
: http://developer.android.com/reference/android/app/Activity.html
Во-вторых, к вашей проблеме, в соответствии с жизненным циклом, каждый раз, когда пользователь нажимает на песню в списке, затем он создает новый Activity
для воспроизведения песни, что означает, что он также создает новый объект MediaPlayer
, Следовательно, вы можете видеть, как много песен играет столько, сколько вы выбираете песни из списка.
Что вам нужно сделать, так это обработать объект MediaPlayer
при закрытии экрана воспроизведения музыки, чтобы вернуться к списку песен.
MediaPlayer mPlayer = null;;
public void onCreate() {
// init mediaplayer here
mPlayer = ...
}
public void onDestroy() {
// release object
if( mPlayer != null ) {
mPlayer.stop();
mPlayer.release();
mPlayer = null;
}
}