如何使用MediaSessionCompat?

17

我该如何使用MediaSessionCompat?能否给出一个简单的工作示例?

我找到了一些例子,但它们使用了:

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

这给我报错:The constructor MediaSessionCompat(Context, String) is undefined,要求我使用MediaSessionCompat(Context, String, ComponentName, PendingIntent)

3个回答

2

我在这里找到了一个可行的示例,我已经在kitkat和marshmallow上测试过。

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

但请注意,有时候由于Android设置(例如“设置”>“声音和通知”>“通知”>“锁定时”>“隐藏敏感内容”),锁屏控件可能不会出现。如下所示:

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


我在GitHub上测试了你的演示。在Nexus6p上,如果你先播放音乐,然后切换到主页。此时,在我的蓝牙耳机上无法暂停音乐。应用可以接收键事件,但它是KEYCODE_MEDIA_PLAY。我不知道为什么会发生这种情况,也不知道如何修复它。你能帮我吗?日志: onMediaButtonEvent()keycode:126 key:0 active:true - mmm2006

1

MediaSessionCompat位于android.support.v4中,这是它使用的构造函数。它是针对API 21引入的MediaSession的向后兼容,这是它的构造函数。但是,如果您想使用您所指的构造函数,则需要使用API 21+编译您的项目。


@Gintas_ 你有一个在SDK < 21上使用MediaSessionCompat的可工作示例吗?我也卡在那里了... - Ralphilius
@kodingralph 我还没有它。 - Gintas_

1

4
链接失效。 - MDT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接