Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
#1

MediaPlayer: как продолжить работу аудио-плеера в фоновом режиме? - Программирование Android

21.08.2016, 17:31. Просмотров 646. Ответов 22
Метки нет (Все метки)

Как продолжить работу ауди плеера в фоновом режиме? Сервис создал, но что туда надо передать? Весь код выполняется в Activity.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2016, 17:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос MediaPlayer: как продолжить работу аудио-плеера в фоновом режиме? (Программирование Android):

Скриншот в фоновом режиме - Программирование Android
Цель - создание приложения, работающего в фоне и делающего снимок всего экрана с любой текущей активной задачей пользователя, а не моего...

Съёмка в фоновом режиме - Программирование Android
Как получить картинку с камеры в фоновом режиме (без Surface)? Неважно, на Java или в native, главное, чтобы это работало на старых...

Переходы по ссылка в фоновом режиме? - Программирование Android
Здравствуйте. Как можно реализовать автоматический переход по ссылкам в WebView? Т.е. хочу сделать так, что бы в фоновом режиме у меня...

Съемка камерой в фоновом режиме - Программирование Android
Здравствуйте! Я сделал тестовое приложение, которое через определенный интервал (например, полчаса) делает снимок с помощью...

Остановка аудио плеера при клике на другой аудио плеер - jQuery
Всем привет. На сайт добавил такой вот плеерочек. На странице стоит много таких плееров и нужно, чтобы при клике на один из них предыдущий...

как выполнить system() в фоновом режиме - C++
есть system("start .\hl2.exe -game cstrike") проблема в том что когда запускаю программу промелькивает dos окно ну а потом запускается сама...

22
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 874
21.08.2016, 18:52 #2
kozak95, выложи код
0
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
21.08.2016, 19:38  [ТС] #3
Та кода много...хочу чтоб подсказали сам алгоритм как это реализовать, ведь все в Activity выполняется.
0
vxg
Модератор
3181 / 1984 / 226
Регистрация: 13.01.2012
Сообщений: 7,669
21.08.2016, 20:05 #4
kozak95, отдай туда ссылку на плеер.
0
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
21.08.2016, 20:34  [ТС] #5
vxg, А c помощью чего отдать ссылку туда? через intent не получается.
Java
1
startService(new Intent(this,AudioService.class).putExtra("player",mediaPlayer));
0
danek130995
24 / 24 / 1
Регистрация: 25.05.2014
Сообщений: 874
21.08.2016, 23:18 #6
kozak95, перенеси код из активити в сервис
0
vxg
Модератор
3181 / 1984 / 226
Регистрация: 13.01.2012
Сообщений: 7,669
22.08.2016, 09:20 #7
kozak95, вот так
Цитата Сообщение от danek130995 Посмотреть сообщение
перенеси код из активити в сервис
0
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
22.08.2016, 09:39  [ТС] #8
А по другому никак нельзя?
0
vxg
Модератор
3181 / 1984 / 226
Регистрация: 13.01.2012
Сообщений: 7,669
22.08.2016, 09:57 #9
kozak95, унаследуйте от Application и храните ссылку на плеер в его статике. при паузе активити не освобождайте плеер. если параллельно работает сервис система не станет выгружать приложение и плеер должен продолжать играть.
0
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
22.08.2016, 10:52  [ТС] #10
vxg, А если я перенесу код в сервис, то в activity должен же выполнятся прогресс: двигаться ползунок в seekBar, идти время композиции и т.д. То есть тогда сервис должен постоянно передавать эту информацию в activity, а activity давать команды сервису что запустить на проигрывание. С помощью чего тогда организовать эту двухстороннюю связь?
0
vxg
Модератор
3181 / 1984 / 226
Регистрация: 13.01.2012
Сообщений: 7,669
22.08.2016, 10:54 #11
kozak95, думаю следует начать с того как вы двигаете ползунок и показываете время. ссылке в Application сам сервис как таковой не нужен - он нужен просто для того что бы приложение не было закрыто системой после сворачивания активити
0
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
22.08.2016, 11:02  [ТС] #12
vxg, через Handler
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    private Runnable moveSeekBarThread = new Runnable() {
        public void run() {
            if(mediaPlayer.isPlaying()){
 
                int mediaPos_new = mediaPlayer.getCurrentPosition();
                int mediaMax_new = mediaPlayer.getDuration();
                seekbar.setMax(mediaMax_new);
                seekbar.setProgress(mediaPos_new);
                tvDurationCurrent.setText((millsecToSec(String.valueOf(mediaMax_new))));
                tvDurationEnd.setText((millsecToSec(String.valueOf(mediaPos_new))));
                handler.postDelayed(this, 100);
            }
 
        }
    };
0
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 934
22.08.2016, 11:05 #13
Сделайте как в моем посте,я думаю для вас это подойдет, так как у меня также сервис постоянно висит в фоне
1
vxg
Модератор
3181 / 1984 / 226
Регистрация: 13.01.2012
Сообщений: 7,669
22.08.2016, 11:08 #14
kozak95, в onPause убивать хандлер обновляющий прогресс, в OnResume создавать снова.
0
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
22.08.2016, 11:52  [ТС] #15
Цитата Сообщение от REALIST07 Посмотреть сообщение
Сделайте как в моем посте
REALIST07, Пока не сильно еще разобрался как это работает...ну я с могу с помощью той структуры передавать постоянно вот эти значения
Цитата Сообщение от kozak95 Посмотреть сообщение
int mediaPos_new = mediaPlayer.getCurrentPosition();
int mediaMax_new = mediaPlayer.getDuration();
в MainActivity, чтобы там постоянно обновлялось seekBar и время тикало?
0
22.08.2016, 11:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2016, 11:52
Привет! Вот еще темы с ответами:

Как сделать приложение в фоновом режиме - C++ Builder
Я хочу сделать достаточно объемную программу, но хочу сделать ее в фоновом режиме. То есть работать она будет постоянно, но на панели задач...

Как запустить приложение в фоновом режиме? - C++ Builder FireMonkey
Как запустить приложение в фоновом режиме? Слышал что-то про сервис, на Java нашел, на FireMonkey гугл перерыл ничего не нашел.

Работа в фоновом режиме, как сделать? - C++
#include <winsock2.h> char sbuf="\0",sbuf2="\0"; STARTUPINFO si; PROCESS_INFORMATION pi; int APIENTRY...

Как запустить процесс в фоновом режиме? - Ubuntu Linux
Я знаю как отобразить процессы, а вот запуск процесса yes в фоновом режиме, нет. :wall::help:


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

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

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