0

在活动中实现的视频播放器中,不是服务,我使用 MediaSessionCompat 来接收媒体按钮操作(蓝牙和 hset)。此视频播放器支持后台播放,即当另一个活动进入前台时视频继续播放。

setActive(true) 激活会话并在活动启动后接收媒体命令。当我的播放器失去音频焦点时,而不是在暂停后,我的播放器会停止其媒体会话。到目前为止一切都很好。

如果另一个播放器(我正在使用 VLC 进行测试)激活请求音频焦点和 setActive(true) 一切都按预期工作。

但是,当我的应用程序的用户通过单击屏幕上的开始按钮(而不是媒体按钮)重新获得音频焦点时,它不会激活媒体会话并且不会收到媒体按钮操作。

媒体会话在服务中的行为与在活动中的行为不同,但这种行为似乎与 android doc 相矛盾,其中说:

Android 按以下顺序路由媒体按钮事件: 1) Android 首先将媒体按钮事件分派到前台 Activity(屏幕上的 Activity)。

无论如何,当我的应用程序重新出现在屏幕上时,您能帮我重新激活媒体会话吗?

4

0 回答 0