어떤 응용 프로그램이 Bluetooth AVRCP 명령에 영향을 미치는가?


18

배경 : 팟 캐스트와 음악을 모두들을 때 적극적으로 사용 하는 A2DP / AVRCP 블루투스 헤드셋 ( Nokia BH-505 )이 있습니다. 물론 다른 앱으로도들을 수 있습니다. Bluetooth 헤드셋에는 오디오와 관련된 "명령"(AVRCP) 버튼이 있습니다. 특히 "다음 트랙", "이전 트랙"및 "재생 / 일시 정지"

현재 명령을 누를 때마다 내가 설치 한 음악 플레이어 ( Meridian ) 중 하나가 활성화되지 않은 경우에도 항상 명령을받습니다. 따라서 Podcast ( DoggCatcher ) 를 일시 중지하려는 "재생 / 일시 정지"를 클릭하면 Meridian이 활성화되고 Podcast와 함께 음악이 재생됩니다.

두 플레이어 모두 헤드셋을 사용하도록 설정되어 있습니다. DoggCatcher는 "헤드셋에 바인딩"이 켜져 있고 Meridian에는 "헤드셋 단추"가 켜져 있습니다. 현재 GT-S5570에서 루팅되지 않은 주식 Android 2.2.1을 사용하고 있지만 루팅하여 2.3 CyanogenMod (또는 이와 유사한)로 업그레이드 할 수 있습니다.

세부 사항을 무시하고 이에 대한 내 질문은 더 일반적입니다.

  • Android는 이러한 명령에 반응 할 앱을 어떻게 결정합니까? 나는 매우 기술적 인 답변에도 관심이 있습니다.

실용적인 측면에서 저는 다음에 관심이 있습니다.

  • 명령을 수행하는 응용 프로그램을 결정하기 위해 각 응용 프로그램 설정을 조정해야합니까, 아니면이를 결정하는 일반적인 방법이 있습니까?
  • 실제로 활성화 된 애플리케이션이 항상 자동으로 우선 순위를 갖도록이를 구성하는 방법이 있습니까? ( 다른 질문 에서 부분적으로 요청한대로 )

이 질문이 유사한 질문과 다른 점 :


1
나는 안드로이드 개발자 블로그에서이 관련된 좋은 정보를 찾기 위해 관리 않았다 -이하는 적절한 방법 논의 한다 2.2 응용 프로그램 구현을 : "서로 플레이 좋은 (R)에 응용 프로그램을 허용 : 원격 제어 버튼 처리를"
Ilari Kajaste

2016 년에 이것은 여전히 ​​문제입니다 -.- iOS에서 이동하면 이것은 지금까지 나를 위해 안드로이드의 가장 자극적 인 부분 일 수 있습니다 : /
Squazz

답변:


11

링크 된 질문 중 하나에서 이미 언급 한 media-button-router 는 현재 음악을 재생하는 앱을 파악하고 AVRCP 이벤트를 전달 하려고 시도 합니다. 또한 AVRCP 이벤트를 수신하도록 선언 된 설치된 모든 앱이 나열됩니다 .

AVRCP를 복잡하게 만드는 이유 : Sony의 Music Unlimited 와 같은 일부 앱 android.intent.action.MEDIA_BUTTON은 명시 적 으로 선언하지 않은 것 같습니다 . 이런 이유로 (또는 다른 이유로) 미디어 버튼 라우터를 통해 제어 할 수 없습니다. 예를 들어 Music Unlimited는 AVRCP를 통해 제어 할 수 있으며 사용자 의견으로 읽었으므로 한 번만 실행할 수 있었지만 불행히도 재현 할 수는 없습니다. 따라서 이러한 경우 AVRCP 이벤트 처리를 깔끔하게 구현하여 앱의 업데이트를 기다려야 할 것 같습니다.

미디어 버튼 라우터의 위키 에 따르면 "미디어 버튼 인 텐트 처리는 주문 된 브로드 캐스트를 통해 수행되며 각 앱은 수신을 위해 자체 우선 순위를 설정합니다." 따라서 우선 순위를 표시하고 실제로 어떤 응용 프로그램을 시작할지 결정할 수있는 앱을 작성할 수 있습니다. 그러나 나는 그런 앱에 대해 모른다.



0

아마도 이것은 약간 도움이 될 것입니다.

Samsung S5-> Bluetooth 수신기 + In 귀 전화 플러그

음악을 다운로드하고 재생하기 위해 먼저 7digital 앱으로 Samsung S5를 사용하고 있습니다. 그런 다음 Cloudplayer를 변경하고 사용했습니다. 그러나 Clouplayer가 재생 중일 때마다 Bluetooth 수신기에서 일시 정지 / 재생 버튼을 누를 때마다 7digital 앱이 음악을 재생하기 시작합니다. Cloudplayer에 대한 블루투스 재생 / 일시 중지를 변경하는 설정을 변경할 수 없습니다. 그런 다음 7digital 다운로드 한 음악을 모두 삭제하고 다시 시도했습니다. 문제 해결됨! 재생 / 일시 정지는 현재 Cloudplayer에 연결되어 있습니다.


0

BT 장치에는 문제가 없습니다. 휴대폰과 페어링되면 Bluetooth 헤드셋은 휴대폰에서 시작된 활성 A2DP 스트림을 재생합니다. 전화기의 일부 표준 미디어 플레이어 인 경우 재생 일시 중지 건너 뛰기, fw 등의 모든 AVRCP 제어 명령에 반응 할 수 있습니다. 이제 웹이나 AVRCP에 대해 이러한 모든 제어를 구현하지 않는 다른 플레이어에서 무언가를 재생할 때 BT 헤드셋 여전히 활성 A2DP 스트림입니다. 전화기에 AVRCP 제어 메시지를 발송합니다. 이제이 명령을 대부분의 경우 해당 앱으로 활성 A2DP 스트리밍 소스로 라우팅하거나 휴대 전화에서 AVRCP 명령을 기본 음악 플레이어로 전달하는 것이 이제 휴대 전화입니다.

재생중인 소스가 AVRCP 제어를 지원하는 경우 모바일을 구성하는 것이 가장 좋습니다. 그렇지 않으면 어쨌든 할 수 없습니다. 그렇다면 definitivly Mobile은 이러한 AVRCP 명령을 활성 A2DP 스트리밍 소스에서 처리 할 수 ​​있도록해야합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.