在活动中实现的视频播放器中,不是服务,我使用MediaSessionCompat接收媒体按钮操作(蓝牙和hset)。这个视频播放器支持后台播放,即当另一个活动进入前台时播放的视频。
setActive(true)激活会话并在活动后接收媒体命令 推出。当播放器失去音频焦点时,我的播放器会取消其媒体会话,而不会暂停。到目前为止,一切都很好。
如果其他玩家(我正在使用VLC测试)激活请求音频焦点和setActive(true),一切都按预期工作。
但是当我的应用程序的用户通过屏幕上的开始按钮(而不是媒体按钮)重新获得音频焦点时,它不会激活媒体会话并且不会接收媒体按钮操作。
媒体会话在服务中的行为与在活动中的行为不同,但这种行为似乎与Android doc相矛盾,后者说:
Android按此顺序路由媒体按钮事件:1)Android首先 将媒体按钮事件分派给前台活动( 屏幕上的活动。)
无论如何,当我的应用程序重新出现在屏幕上时,您能否帮我重新启动媒体会话。