Що визначає, яка програма діє до команди AVRCP Bluetooth Bluetooth?


18

Передумови: у мене є Bluetooth-гарнітура A2DP / AVRCP ( Nokia BH-505 ), яку я активно використовую для прослуховування як подкастів, так і музики. Звичайно, я слухаю їх за допомогою різних додатків. У гарнітурі Bluetooth є кілька кнопок «команд» (AVRCP), що стосуються звуку - конкретно: «наступна доріжка», «попередня доріжка» та «відтворення / пауза»

Наразі, коли я натискаю будь-яку з команд, один із встановлених мною музичних плеєрів ( Meridian ) завжди отримує команду, навіть коли вона не активна. Тож, коли я натискаю "відтворити / призупинити", маючи намір призупинити подкаст ( DoggCatcher ), натомість "Меридіан" активується і починає відтворювати музику разом із подкастом.

Обидва гравці налаштовані використовувати гарнітуру: у DoggCatcher увімкнено "Прив’язати до гарнітури", а в "Меридіан" увімкнено "Кнопки гарнітури". Наразі я використовую не вкорінені Android 2.2.1 на GT-S5570, але, можливо, в майбутньому вкорінюватимуться та модернізуватись до 2.3 CyanogenMod (або такого).

Ігноруючи специфіку, моє питання щодо цього більш загальне:

  • Як Android визначає, яка програма може реагувати на ці команди? Мене цікавить навіть дуже технічна відповідь.

З практичної сторони мене цікавить:

  • Чи потрібно мені поспілкуватися з усіма налаштуваннями програм, щоб визначити, яка програма приймає команди, чи існує якийсь загальний спосіб визначення цього?
  • Чи є спосіб налаштувати це так, щоб дійсно активна програма автоматично отримувала пріоритет? (як запитали частково в іншому запитанні )

Чим це запитання відрізняється від подібних питань:


1
Мені вдалося знайти хорошу інформацію, пов’язану з цим, у блозі розробників Android - обговоривши правильний спосіб, що це має бути реалізовано програмами в 2.2: "Дозвіл додатків грати добре (r) один з одним: Керування кнопками дистанційного керування"
Іларі Каясте

У 2016 році це все ще проблема -.- Перехід з iOS, це, можливо, є найбільш дратівливою частиною Android для мене поки що: /
Squazz,

Відповіді:


11

маршрутизатор медіа-кнопок , вже згадуваний в одному з ваших пов’язаних питань, намагається розібратися в тому, який додаток зараз відтворює музику, і відправити на нього події AVRCP. Крім того, у ньому перераховані всі встановлені програми, які заявляють про прослуховування подій AVRCP.

Що робить AVRCP складним: Деякі додатки, як-от Sony Music Music Unlimited , схоже, не декларують android.intent.action.MEDIA_BUTTONу своєму маніфесті. З цієї причини (або, можливо, з іншої) причини їх неможливо контролювати за допомогою медіа-кнопки-роутера. Я знаю, що, наприклад, Music Unlimited можна керувати через AVRCP, оскільки я прочитав це у коментарі користувача, а також мені вдалося запустити його один раз, але, на жаль, він не відтворюється. Тож у цих випадках здається, що нам доведеться чекати оновлення програми з чистою реалізацією обробки подій AVRCP.

Відповідно до вікі-маршрутизатора медіа-кнопок, "Обмінювання намірів за допомогою кнопок медіа здійснюється через упорядковані трансляції, і кожен додаток встановлює свій пріоритет для отримання". Тож, можливо, можна було б написати програму, яка відображає ці пріоритети, і, по суті, дозволила б визначити, яку програму запустити. Однак я не знаю про таке додаток.



0

Можливо, це допоможе трохи:

Samsung S5 -> приймач Bluetooth + штепсельні телефони

Я використовую Samsung S5, спочатку з додатком 7digital для завантаження та відтворення музики. Потім я змінив і використав Cloudplayer. Але щоразу, коли грає Clouplayer, і я натискаю кнопку паузи / відтворення на Bluetooth-приймачі, мій додаток 7digital почне відтворювати музику. Я не зміг змінити жодне налаштування, щоб змінити відтворення / паузу Bluetooth на Cloudplayer. Потім я видалив всю завантажену 7-цифрову музику і спробував ще раз. Проблема вирішена! Відтворення / пауза певним чином пов'язана з Cloudplayer.


0

Це не проблема з вашим BT пристроєм. При з'єднанні з вашим телефоном гарнітура Bluetooth відтворює активний потік A2DP, ініційований з мобільного телефону. Якщо це якийсь стандартний медіаплеєр на вашому телефоні, він може реагувати на всі команди управління AVRCP, як-от пауза відтворення, пропуск, fw тощо. BT гарнітура - це все ще активний потік A2DP, що надходить. Він передаватиме повідомлення з питань контролю AVRCP на ваш телефон. Тепер ваш телефон повинен спрямовувати ці команди до відповідної програми у більшості випадків до активного потокового джерела A2DP або у вашому випадку ваш телефон все ще пересилає команди AVRCP до музичного плеєра за замовчуванням.

Найкраще б спробувати налаштувати мобільний телефон за умови, що джерело, яке ви граєте, підтримує контроль AVRCP. Якщо це не так, то все одно ви нічого не можете зробити. Якщо це так, то Mobile, безумовно, повинно дозволяти цим командам AVRCP обробляти ваше активне джерело потоку A2DP.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.