我尝试浏览网页以查看MediaSessionManager执行和使用的内容以及读取RemoteController(自API 21以来已弃用),以便我可以看到这些api是否可以解决我的问题。
目前,我正在使用AudioManger并发送关键事件来停止/暂停/播放来自其他音乐播放器的当前音频......它确实可以完成这项工作。现在我想知道它是否可以用于媒体播放器,例如播放视频的YouTube应用程序和来自其他设备的我的应用程序可以像遥控器一样控制第二台设备上的视频播放。
我最后读了MediaSessionManager。它为当前正在播放的音乐播放器提供所有活动媒体会话。我不确定它是解决上述情况的正确解决方案。由于我正在使用Android 4.4.2,我认为MediaSessionManager可能不是正确的方式所以我找到了一个名为RemoteController但不确定它是如何工作的,以及它是否有助于解决我的问题
这里有太多东西,我不知道从哪里开始。
答案 0 :(得分:2)
通过MediaController
可检索的RemoteController
和MediaSessionManager个实例仅限本地 - 它们允许设备上的一个应用控制另一个应用的播放。
如果您仅支持API 21+设备,MediaSessionManager
比RemoteController
更容易使用且更可靠,但如果您还想支持KitKat设备,那么除了{之外别无选择{1}}。
当然,一旦用户在您要控制的设备上启用NotificationListenerService,您就可以构建要将媒体状态发送到其他控制设备的设备通信协议,并将命令发送回您要控制的设备。那个基础设施对你的应用程序来说是独一无二的 - 但是没有内置的类可以做到这一点。
答案 1 :(得分:0)
您可以使用
轻松创建待接收控制器处理的待处理意图MediaButtonReceiver.buildMediaButtonPendingIntent()
并添加
MediaButtonReceiver.handleIntent()
在您的接收者代码中