Co decyduje o tym, która aplikacja działa na polecenie Bluetooth AVRCP?

Tło: mam zestaw słuchawkowy Bluetooth A2DP / AVRCP ( Nokia BH -505 ), z którego aktywnie korzystam do słuchania zarówno podcastów, jak i muzyki. Oczywiście słucham ich w różnych aplikacjach. Zestaw słuchawkowy Bluetooth ma kilka przycisków „poleceń” (AVRCP), związanych z dźwiękiem – w szczególności: „następny utwór”, „poprzedni utwór” i „odtwórz / wstrzymaj”

Obecnie za każdym razem, gdy naciskam dowolne z poleceń , jeden z zainstalowanych przeze mnie odtwarzaczy muzycznych ( Meridian ) zawsze otrzymuje polecenie – nawet jeśli nie jest aktywny. Kiedy więc kliknę „odtwórz / wstrzymaj” zamierzając wstrzymać podcast ( DoggCatcher ), zamiast tego Meridian jest aktywowany i rozpoczyna odtwarzanie muzyki wraz z podcastem.

Oba odtwarzacze są ustawione na używać zestawu słuchawkowego: DoggCatcher ma włączoną opcję „Powiąż z zestawem słuchawkowym”, a Meridian ma włączone „Przyciski zestawu słuchawkowego”. Obecnie używam nieukorzenionego systemu Android 2.2.1 na GT-S5570, ale mogę rootować i aktualizować do 2.3 CyanogenMod ( lub takie) w przyszłości.

Ignorując szczegóły, moje pytanie na ten temat jest bardziej ogólne:

  • W jaki sposób Android określa, która aplikacja ma reagować na te polecenia? Interesuje mnie nawet bardzo techniczna odpowiedź.

Z praktycznego punktu widzenia interesuje mnie:

  • Czy muszę majstrować przy ustawieniach każdej aplikacji, aby określić, która aplikacja przyjmuje polecenia, czy jest jakiś ogólny sposób określenia tego?
  • Czy istnieje sposób konfiguracji tak, aby aplikacja, która jest faktycznie aktywna zawsze otrzymałaby priorytet? (jak zostało częściowo zadane w innym pytaniu )

Czym to pytanie różni się od podobnych pytań:

Komentarze

Odpowiedź

router-przycisku-multimediów , wspomniany już w jednym z Twoich powiązanych pytań, próbuje dowiedzieć się jaka aplikacja obecnie odtwarza muzykę i przesyła do niej zdarzenia AVRCP. Ponadto zawiera listę wszystkich zainstalowanych aplikacji, które deklarują nasłuchiwanie zdarzeń AVRCP.

Co komplikuje AVRCP: niektóre aplikacje, takie jak Sony „Music Unlimited , wydaje się nie deklarować android.intent.action.MEDIA_BUTTON w swoim manifeście. Z tego (a może innego) powodu nie można nimi sterować za pomocą mediów- przycisk routera. Wiem, że np. Music Unlimited można kontrolować za pomocą AVRCP, ponieważ przeczytałem go w komentarzu użytkownika, a także udało mi się uruchomić go raz , ale niestety nie można go odtworzyć. W takich przypadkach wydaje się, że musimy poczekaj na aktualizację aplikacji z czystą implementacją obsługi zdarzeń AVRCP.

Zgodnie z wiki media-button-router „Obsługa intencji przycisku multimediów odbywa się za pośrednictwem uporządkowanych transmisji, a każda aplikacja ustawia swój własny priorytet odbioru”. Może więc byłoby możliwe napisanie aplikacji, która wyświetla te priorytety i w efekcie pozwalają określić, która aplikacja zostanie uruchomiona. Jednak nie wiem o takiej aplikacji.

Odpowiedź

W końcu dodali sekcję, aby odpowiedzieć dokładnie na to pytanie: https://developer.android.com/guide/topics/media-apps/mediabuttons.html

Odpowiedź

Może to trochę pomoże:

Samsung S5 -> Odbiornik Bluetooth + douszne wtyczki do telefonów

Używam Samsung S5, najpierw z aplikacją 7digital do pobierania i odtwarzania muzyki. Potem zmieniłem i użyłem Cloudplayera. Ale za każdym razem, gdy gra Clouplayer i naciskam przycisk pauzy / odtwarzania na odbiorniku Bluetooth, moja aplikacja 7digital zacznie odtwarzać muzykę. Nie mogłem zmienić żadnego ustawienia, aby zmienić odtwarzanie / pauzę Bluetooth w kierunku Cloudplayer. Następnie usunąłem całą moją pobraną muzykę z 7digital i spróbowałem ponownie. Problem rozwiązany! Odtwarzanie / pauza jest teraz w jakiś sposób połączone z Cloudplayer.

Odpowiedź

To nie jest problem z urządzeniem BT. Po sparowaniu z telefonem zestaw słuchawkowy Bluetooth odtwarza aktywny strumień A2DP zainicjowany z telefonu komórkowego. Jeśli jest to jakiś standardowy odtwarzacz multimedialny w Twoim telefonie, może reagować na wszystkie polecenia sterowania AVRCP, takie jak odtwarzanie, pauza, pomiń, przewijanie itp. Teraz, gdy odtwarzasz coś w Internecie lub innym odtwarzaczu, który nie obsługuje wszystkich takich kontroli nad AVRCP Zestaw słuchawkowy BT to wciąż nadchodzi aktywny strumień A2DP. Będzie wysyłać wiadomości kontrolne AVRCP na Twój telefon. To teraz Twój telefon powinien w większości przypadków kierować te polecenia do odpowiedniej aplikacji do aktywnego źródła strumieniowego A2DP lub w Twoim przypadku telefon nadal przekazuje polecenia AVRCP do domyślnego odtwarzacza muzyki.

Twój najlepiej byłoby spróbować skonfigurować telefon komórkowy, pod warunkiem, że źródło, z którego korzystasz, obsługuje kontrolę AVRCP. Jeśli tak się nie stanie, i tak nie możesz nic zrobić. Jeśli tak, to zdecydowanie telefon komórkowy powinien zezwalać na obsługę tych poleceń AVRCP przez Twoje aktywne źródło przesyłania strumieniowego A2DP.

Odpowiedź

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *