Страница 1 из 1

Управление сторонним активным аудио-плеером?

Добавлено: 03 янв 2014, 09:41
Newbilius
Привет! Есть такой вопрос. Вот есть скажем bluetoh-гарнитура. На ней кнопки "следующий трек", "предыдущий трек, "пауза/играть дальше". Она общается с телефоном, отдавая некие команды текущему (!) играющему плееру. Но как это повторить?
Интересует совместимость с 2.3.3 и выше.

Пробовал два варианта. Первый работает только с дефолтным плеером и не на всех телефонах.

Код: Выделить всё

Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command" , key ); //key - "togglepause","next","previous"
context.sendBroadcast(i);
Второй работает на всех телефонах, но если установлено несколько плееров - управляет не текущим, а только одним из них, по какому принципу выбирается плеер - понятия не имею. Т.е., если играет иной плеер - он ставится на паузу, а команду отдаются совершенно другому, который и запускается.

Код: Выделить всё

long eventtime = SystemClock.uptimeMillis() - 1;

//key - это KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, KeyEvent.KEYCODE_MEDIA_NEXT, KeyEvent.KEYCODE_MEDIA_PREVIOUS

Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent downEvent = new KeyEvent(eventtime, eventtime, KeyEvent.ACTION_DOWN, key, 0);
downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
context.sendOrderedBroadcast(downIntent, null);

eventtime++;
Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent upEvent = new KeyEvent(eventtime, eventtime,KeyEvent.ACTION_UP, key, 0);
upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
context.sendOrderedBroadcast(upIntent, null);
Вот, ищу универсальную возможность, работающую стабильно.

Re: Управление сторонним активным аудио-плеером?

Добавлено: 03 янв 2014, 18:45
altwin
вам явно нужен RemoteController, но что с ним делать я лично пока не разбирался.

Re: Управление сторонним активным аудио-плеером?

Добавлено: 03 янв 2014, 21:29
Newbilius
Added in API level 19.
А мне нужна совместимость с предыдущими. :(

Re: Управление сторонним активным аудио-плеером?

Добавлено: 03 янв 2014, 23:06
altwin
Newbilius писал(а):Added in API level 19.
А мне нужна совместимость с предыдущими. :(
сочувствую. :cry:

P.S. вы понимаете что пытаетесь управлять сферическим конем в вакууме?
по какому принципу выбирается плеер - понятия не имею
по тому, какой поддерживает аппаратную команду гарнитуры я полагаю... Попробуйте в режиме отладки посмотреть что и куда шлет ваша гарнитура при нажатии на кнопки.
А вообще кнопка о которой вы говорили(на гарнитуре) - это ACTION_MEDIA_BUTTON, есть и reference
ну и есть такая вот штука: Handling remote control buttons

Re: Управление сторонним активным аудио-плеером?

Добавлено: 17 май 2014, 17:58
Fhantom.TP
Newbilius писал(а):Привет! Есть такой вопрос. Вот есть скажем bluetoh-гарнитура. На ней кнопки "следующий трек", "предыдущий трек, "пауза/играть дальше". Она общается с телефоном, отдавая некие команды текущему (!) играющему плееру. Но как это повторить?
Интересует совместимость с 2.3.3 и выше.

Вот, ищу универсальную возможность, работающую стабильно.
Удалось ли вам что-то найти, вот столкнулся с такой -же проблемой пока не могу её решить.