Я пытаюсь создать аудиоплеер.
В моем первом действии есть список mp3 с моей SD-карты, и я могу выбрать их и поместить в ArrayList. У меня есть кнопка (Добавить в плейлист), и когда я ее нажимаю, она запускает новое действие, где я беру ArrayList, там создаю плеер, воспроизвожу музыку и т.д. Но... когда я нажимаю кнопку "Назад" на устройстве (вы знаете, что это похоже на полукруглую стрелку), я возвращаюсь к своей первой деятельности, но музыка не останавливается, и я могу выбрать снова песни, и если я нажму кнопку "Добавить в список воспроизведения", тогда приложение будет воспроизводиться две песни одновременно (первая и вторая).
Как я могу справиться с этим? (Я хочу, когда я вернусь, выберите или отмените выбор некоторых треков, а затем, когда я нажму кнопку (Добавить в плейлист), чтобы воспроизвести мой новый список).
Я начинаю свое второе действие следующим образом:
Intent intent = new Intent (Chooser.this, Player.class);
Bundle b = new Bundle();
b.putStringArrayList("key", plist);
b.putStringArrayList("pos", po);
intent.putExtras(b);
startActivity(intent);
Я не хочу, чтобы мой плеер останавливался, просто я хочу добавить или удалить песни в своем плейлисте.
Вы хотите реализовать один из методов Android Lifecycle во втором Activity
и сообщить ему, чтобы остановить MediaPlayer
.
Те, которые могут вас заинтересовать, это onPause()
, onStop()
и onDestroy()
.
Вы можете использовать глобальную переменную, чтобы поддерживать состояние "играет". Если вы обнаружите, что пользователь пытается воспроизвести новую песню, а переменная isPlaying
- true
, остановите плеер перед началом новой песни.