2015-05-27 14 views
13

Jak korzystać z MediaSessionCompat? Czy ktoś może podać prosty przykład działania?Jak korzystać z MediaSessionCompat?

Znalazłem kilka, ale używają:

MediaSessionCompat _mediaSession = new MediaSessionCompat(context, "tag"); 

To daje mi błąd: The constructor MediaSessionCompat(Context, String) is undefined i chce mi korzystać MediaSessionCompat(Context, String, ComponentName, PendingIntent)

Odpowiedz

-1

MediaSessionCompat jest w android.support.v4 i to jest Constructor używa. jest to kompatybilność wsteczna dla MediaSession wprowadzona w api 21, a to jest jej Contrustor;. Jednakże, jeśli chcesz użyć Konstruktora, powinieneś powiedzieć, że musisz skompilować swój projekt za pomocą api 21+;

+1

Wiem, że potrzebuję działającego przykładu. –

+0

@ Gintas_ Czy masz działający przykład z MediaSessionCompat dla SDK <21? Utknąłem tam też ... – Ralphilius

+0

@kodingralph Nie mam tego jeszcze –

1

Znalazłem przykład pracuje tu, który testowałem zarówno na KitKat i marshmallow.

https://github.com/tutsplus/background-audio-in-android-with-mediasessioncompat/blob/master/app/src/main/java/com/tutsplus/backgroundaudio/BackgroundAudioService.java

Ale czy biorą pod uwagę, czasami, czasami zablokować ekran sterowania nie pojawiają się z powodu android ustawień (tj Ustawienia> Dźwięki & Powiadomienia> Powiadomienia> Podczas Zablokowany> Ukryj wrażliwe treści) patrz poniżej:

https://community.spotify.com/t5/Android/Android-Lollipop-Lock-Screen-Controls-Not-Available/td-p/982463

+0

Testowałem twoje demo w github. W nexus6p, jeśli najpierw odtwarzasz muzykę, a następnie przełącz się na stronę główną. W tej chwili nie można wstrzymać muzyki w moim zestawie słuchawkowym bt. Aplikacja może odbierać kluczowe wydarzenie, ale jest to KEYCODE_MEDIA_PLAY. Nie wiem, dlaczego tak się stało i jak to naprawić. Czy możesz mi w tym pomóc? log: onMediaButtonEvent() Kod klucza: 126 klucz: 0 aktywny: true – mmm2006