2016-09-22 1 views
1

미디어 컨트롤러, 볼륨 키, 미디어 버튼 및 전송 컨트롤과 상호 작용할 수 있습니다.Android MediaSession 버튼

MediaSession 설명서에는 미디어 단추 및 전송 컨트롤과 함께 작동한다고 나와 있습니다. 장치에 물리적 단추 만 포함되어 있습니까? 아니면 MediaSession 콜백을 트리거하는 UI 단추를 구현할 수 있습니까?

답변

1

물론 있습니다.

먼저 당신은 당신이 MediaSessionCompat 객체를 초기화하고 당신이 그것과 함께받을 의도를 통과해야 미디어 버튼 이벤트를 수신하는 서비스가 필요하므로 해당 서비스에서 너무

 <service android:name="com.example.android.MediaPlaybackService" > 
    <intent-filter> 
    <action android:name="android.intent.action.MEDIA_BUTTON" /> 
    </intent-filter> 
</service> 

같은 매니페스트 선언 MediaButtonReceiver

과 같이
private MediaSessionCompat mMediaSessionCompat = ...; 

public int onStartCommand(Intent intent, int flags, int startId) { 
    MediaButtonReceiver.handleIntent(mMediaSessionCompat, intent); 
    return super.onStartCommand(intent, flags, startId); 
} 
또한 MediaSessionCompat.Callback의 인스턴스를 생성하고 그것을 설정할 수 있습니다

당신이 실제로 당신은 또한 getTransportControls() 방법의 사용 MediaControllerCompat의 인스턴스를 사용하여 자신 만의 UI를 통해 이러한 전송 컨트롤을 호출 할 수 있습니다 재생중인 미디어를 제어하는 ​​곳
setCallback() 

이다

여기

MediaButtonReceiver