1

MediaSessionManager가 수행하고 RemoteController (API 21 이후 사용되지 않음)를 읽거나 읽는 데 웹을 탐색하려고 했으므로 이러한 API가 내 문제를 해결할 수 있는지 확인할 수 있습니다.Android : MediaSessionManager 및 RemoteController에 대해 명확하지 않은 점

현재 AudioManger를 사용 중이며 다른 뮤직 플레이어의 현재 오디오를 중지/일시 정지/재생하는 키 이벤트를 보내고 있습니다. 작업을 수행합니다. 이제 미디어 플레이어 (예 : YouTube 앱)에서 동영상을 재생하고 다른 앱에서 내 앱을 원격으로 조작하여 두 번째 기기에서 동영상 재생을 제어 할 수 있는지 궁금합니다.

나는 MediaSessionManager을 읽었습니다. 현재 재생중인 뮤직 플레이어와 모든 활성 미디어 세션을 제공합니다. 위의 시나리오를 해결하는 것이 올바른 해결책인지 확신 할 수 없습니다. Android 4.4.2에서 작업 중이므로 MediaSessionManager가 올바른 방법이 아닌 것 같아 RemoteController라는 것이 발견되었지만 실제로 작동하는 방식과 내 문제를 해결하는 데 도움이되는지 여부는 확실하지 않습니다.

여기에 너무 많은 것이 있습니다. 어디서부터 시작해야할지 모르겠다. 두 RemoteController

답변

2

MediaSessionManager를 통해 검색 할 MediaController 인스턴스는 지역 - 그들이 장치에서 하나 개의 앱이 다른 응용 프로그램의 재생을 제어 할 수 있습니다.

만 API 21+ 장치를 지원하는 경우, MediaSessionManagerRemoteController보다 훨씬 더 많은 작업하기 쉽고 신뢰할 수있는,하지만 당신은 또한 킷캣 장치를 지원하려면 다음 RemoteController보다 다른 옵션이 없습니다.

물론 사용자가 제어하려는 장치에서 NotificationListenerService을 활성화하면 다른 제어 장치에 미디어 상태를 전송할 장치 통신 프로토콜을 빌드하고 장치에 명령을 다시 보낼 수 있습니다. 제어하고 싶다. 이 인프라는 앱에 고유 한 것이지만 클래스를 만들지 않습니다.

+1

감사 사촌을

MediaButtonReceiver.buildMediaButtonPendingIntent() 

를 사용하여 수신기 코드에서

MediaButtonReceiver.handleIntent() 

를 추가하여 수신 컨트롤러에서 처리 할 수 ​​텐트 보류 만들 재생, 일시 중지 등의 명령 열거 형을 수신 장치에 보내고 수신기 응용 프로그램이 오디오 이벤트 관리자에게 키 이벤트를 보내 통신을 처리하도록합니다. dm.dispatchKeyEven t 또는 현재 음악 플레이어에 뭔가. RemoteController와 NotificationListenerService가 처리 할 수 ​​있다면, 간단한 튜토리얼을 통해 시작하겠습니다. 다시 한번 감사드립니다. – LittleFunny

+1

글쎄, 단지 명령을 보내고 싶다면, dispatchKeyEvent이면 충분하다. 재생중인 앱의 미디어 정보를 원한다면 그 이상이 필요합니다. – ianhanniballake

0

할 수 있습니다 쉽게 내가 사용하고있는 순간에