我创建了一个服务,它通过通知中的控制按钮从 URL 播放音频流 - 我可以暂停、恢复和关闭流媒体(通过停止服务)。
但是我怎样才能从活动中控制它,就像从通知中一样?当然,我可以通过适当的操作发送意图,但我想要的是(例如):
我已经从我开始服务的地方打开了活动,正在播放音乐,然后我拉下一个通知抽屉,例如暂停,音乐暂停但活动不知道这一点
所以我的问题是 - 是否有可能从活动中访问正在运行的媒体会话或类似的东西并像从通知中一样控制它?
我创建了一个服务,它通过通知中的控制按钮从 URL 播放音频流 - 我可以暂停、恢复和关闭流媒体(通过停止服务)。
但是我怎样才能从活动中控制它,就像从通知中一样?当然,我可以通过适当的操作发送意图,但我想要的是(例如):
我已经从我开始服务的地方打开了活动,正在播放音乐,然后我拉下一个通知抽屉,例如暂停,音乐暂停但活动不知道这一点
所以我的问题是 - 是否有可能从活动中访问正在运行的媒体会话或类似的东西并像从通知中一样控制它?
或者,您可以在此处找到的 android 支持库中使用新的 MediaSession 兼容库: https ://developer.android.com/guide/topics/media-apps/index.html
它们简化了创建媒体控制器和建立传输控制通道以将用户界面组件连接到媒体控制服务类的过程。
您需要将您的活动绑定到您的服务,然后将活动作为侦听器添加到播放器,并且每次启动时,暂停...等报告给您的侦听器(活动)。您将需要创建您的界面来向任何想要跟踪玩家事件的人报告此类详细信息。