Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Andrew9
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 95
#1

MediaPlayer, рывок перезапуска музыки при переходе между активностями - Программирование Android

17.08.2014, 20:43. Просмотров 835. Ответов 4
Метки нет (Все метки)

Всем привет, есть приложение с несколькими активностями и при переходе между ними заметен рывок перезапуска музыки (onResume). Как сделать что бы музыка играла на всех активностях не перезапускаясь через onResume а потоком, и как ее выключить по нажатию на кнопку.
есть класс Music.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Music extends MyActivity {
 
    private static MediaPlayer mPlayer = null;  
    
    public static void play(Context context, int resource) {
        stop(context);
        
            mPlayer = MediaPlayer.create(context, R.raw.mainfon);
            mPlayer.setLooping(true);
            mPlayer.start();
    }
  
    public static void stop(Context context) {
        if (mPlayer != null) {
            mPlayer.stop();
            mPlayer.release();
            mPlayer = null;
        }
    }
 
}
потом на каждой активности пишу
Java
1
2
3
4
5
6
7
8
9
protected void onResume() {
        super.onResume();
        Music.play(this, R.raw.guitarmainfon);
    }
 
    protected void onPause() {
        super.onPause();
        Music.stop(this);
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2014, 20:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос MediaPlayer, рывок перезапуска музыки при переходе между активностями (Программирование Android):

MediaPlayer, проигрывание музыки
Добрый день! Есть кто знает как добавить музыку, но не на фон когда активити...

Переход между активностями!
не могу перейти между активностями! вот весь лог 12-27 14:32:51.611:...

Передача данных между активностями
к примеру есть 2 активности первая public class first_act extends Activity {...

Передача значений между активностями
Добрый день. Как можно передавать значения переменных между активностями? У...

Затруднение с переключением между активностями
Чтобы лучше понимать решил написать приложение расписания пар в университете и...

Кто как передаёт коллекции между активностями, классами?
Всем привет! Поделитесь опытом. Допустим, в одном классе вы накапливаете...

4
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
18.08.2014, 03:35 #2
Гарантии не дам, но я бы попобовал поместить медиаплеер в сервис.
1
Andrew9
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 95
18.08.2014, 21:54  [ТС] #3
Добавил МедиаПлеер в сервис,
сделал все как описано тут
Кликните здесь для просмотра всего текста
http://www.androidhub4you.com/2013/03/how-to-create-services-in-android.html


с любой активити ничего не происходит при вызове
Java
1
2
startService(new Intent(this, MyService.class));  
stopService(new Intent(this, MyService.class));
и на кнопки пробовал кидать как в примере и после отрисовки активити что бы музыка начинала играть сразу при запуске приложения
Java
1
2
3
4
5
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
 
        startService(new Intent(this, MyService.class));
Подскажите что не так. В манифест добавил
XML
1
2
3
<service
            android:name=".MyService"
            android:enabled="true" />
Добавлено через 1 час 6 минут
Все разобрался, благодарю за помощь с подсказкой по поводу Service.
0
646kapeh064
59 / 58 / 16
Регистрация: 09.12.2013
Сообщений: 208
18.08.2014, 21:57 #4
Цитата Сообщение от Andrew9 Посмотреть сообщение
Все разобрался, благодарю за помощь с подсказкой по поводу Service
В чем причина была?
0
Andrew9
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 95
18.08.2014, 21:59  [ТС] #5
XML
1
2
3
<manifest 
<application />
/>
XML
1
2
3
<service
            android:name=".MyService"
            android:enabled="true" />
По началу добавил в тег <manifest /> а должно быть внутри <application ... />
0
18.08.2014, 21:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2014, 21:59
Привет! Вот еще темы с решениями:

При переходе между активити возникает ошибка
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Дело в том,...

Как создать анимацию при переходе между экранами?
У меня прога состоит из нескольких экранов и я хочу сделать анимационный...

СМА Gorenje WA60Z085R тип PSO A 3/080R арт 380025/01, Набор воды, рывок мотора, и зависает, потом рывок и ошибка 5
При проверке обнаружил, что ТЭН имеет сопротивление более 2 МОм. Заменил на...

Загрузка ЦП под 100% при запуске винды, при открытии браузера, при переходе между вкладками
Всем доброго времени суток. У супруги ноут SONY VPCEl - AMD E2, 4Гб ОЗУ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru