블루투스 AVRCP 명령에 대해 작동하는 애플리케이션을 결정하는 것은 무엇입니까?

배경 : A2DP / AVRCP 블루투스 헤드셋 ( Nokia BH -505 ) 팟 캐스트와 음악을 모두들을 때 적극적으로 사용합니다. 물론 나는 다른 앱으로 이것들을 듣습니다. 블루투스 헤드셋에는 오디오와 관련된 일부 “명령”(AVRCP) 버튼이 있습니다. 구체적으로는 “다음 트랙”, “이전 트랙”및 “재생 / 일시 중지”

현재 명령을 누를 때마다 , 내가 설치 한 음악 플레이어 ( Meridian ) 중 하나가 항상 명령을받습니다. 활성화되지 않은 경우에도 마찬가지입니다. 따라서 “재생 / 일시 중지”를 클릭하면 팟 캐스트 ( DoggCatcher )를 일시 중지하려는 대신 Meridian이 활성화되고 팟 캐스트와 함께 음악 재생을 시작합니다.

두 플레이어 모두 헤드셋을 사용중인 경우 : DoggCatcher에는 “헤드셋에 연결”이 켜져 있고 Meridian에는 “헤드셋 버튼”이 켜져 있습니다. 저는 현재 GT-S5570에서 루팅되지 않은 재고 Android 2.2.1을 사용하고 있지만 루팅 및 2.3 CyanogenMod ( 또는 그러한), 향후.

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

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

실제적인 측면에서 관심이 있습니다.

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

이 질문이 유사한 질문과 어떻게 다른지 :

댓글

Answer

media-button-router (연결된 질문 중 하나에서 이미 언급 됨), 알아 내기 위해 시도 현재 음악을 재생중인 앱과 AVRCP 이벤트를 여기에 전달합니다. 또한 설치된 모든 앱을 나열하며 AVRCP 이벤트를 수신하도록 선언 합니다.

AVRCP를 복잡하게 만드는 이유 : Sony s Music Unlimited 는 매니페스트에서 android.intent.action.MEDIA_BUTTON를 선언하지 않는 것 같습니다. 이러한 이유로 인해 (또는 기타) 미디어를 통해 제어 할 수 없습니다. 버튼 라우터. 나는 예를 들어 알고 있습니다. Music Unlimited는 사용자 의견에서 읽었으므로 AVRCP를 통해 제어 할 수 있으며 한 번 실행할 수 있었지만 불행히도 재생산 할 수 없습니다. 따라서 이러한 경우에는 AVRCP 이벤트 처리를 깔끔하게 구현하여 앱 업데이트를 기다립니다.

media-button-router “s wiki “미디어 버튼 인 텐트 처리는 순서가 지정된 브로드 캐스트를 통해 이루어지며 각 앱은”수신에 대한 자체 우선 순위를 설정합니다. “ 따라서 이러한 우선 순위를 표시하는 앱을 작성하는 것이 가능할 수 있습니다. 시작할 응용 프로그램을 결정할 수 있습니다. 그러나 나는 그런 앱에 대해 모른다.

답변

마지막으로 다음과 같은 정확한 질문에 답하는 섹션을 추가했습니다. https://developer.android.com/guide/topics/media-apps/mediabuttons.html

답변

이것이 약간 도움이 될 것입니다.

삼성 S5-> 블루투스 리시버 + 인 이어폰 플러그

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

답변

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

사용자 가장 좋은 방법은 재생중인 소스가 AVRCP 제어를 지원하는 경우 모바일을 구성하는 것입니다. 그렇지 않다면 어쨌든 아무것도 할 수 없습니다. 그렇다면 확실히 Mobile은 이러한 AVRCP 명령이 활성 A2DP 스트리밍 소스에서 처리되도록 허용해야합니다.

답변

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다