#android
#Android
Вопрос:
Я пытаюсь разработать аудиоплеер.
В моем первом действии есть список 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);
Я не хочу, чтобы мой проигрыватель останавливался, просто я хочу добавить или удалить песни из моего списка воспроизведения.
Комментарии:
1. Тим — пожалуйста, не используйте ответы для сообщения обновлений или дополнительных вопросов другим пользователям. Либо обновите свой вопрос, либо (когда вы наберете необходимое количество повторений) добавьте комментарий.
Ответ №1:
Вы хотите реализовать один из методов жизненного цикла Android во втором Activity
и указать ему остановить MediaPlayer
.
Те, которые вас могут заинтересовать, это onPause()
, onStop()
и onDestroy()
.
Комментарии:
1. Да, спасибо вам большое, матч, не могли бы вы сказать мне, где я могу объявить эту глобальную переменную? И, кроме того, я не хочу, чтобы мой проигрыватель останавливался, просто я хочу добавлять или удалять песни из моего списка воспроизведения…
Ответ №2:
Вы можете использовать глобальную переменную для поддержания состояния «воспроизводится». Если вы обнаружите, что пользователь пытается воспроизвести новую песню, а isPlaying
переменная равна true
, остановите проигрыватель перед запуском новой песни.