【问题标题】:How to get list of MediaSessionCompat using support library for pre-Lollipop versions?如何使用棒棒糖前版本的支持库获取 MediaSessionCompat 列表?
【发布时间】:2016-04-14 23:02:41
【问题描述】:

因此,Google 弃用了整个 RemoteControlClient,并将其替换为 MediaSession。然后,为了添加向后兼容性,在支持库中添加了 MediaSessionCompat,因此您不再需要使用 RemoteControlClient。

但是,他们没有为其他播放器接收元数据和播放状态添加替换,也无法控制它。当然,如果您媒体播放器,您可以制作自己的MediaSessionCompat,但如果您只想远程控制其他媒体播放器怎么办?

我的问题是,MediaSessionManager 使用支持库的替代品是什么?具体来说,如何获取系统上所有当前MediaSessionCompat 会话的列表(例如MediaSessionManager.addOnActiveSessionsChangedListener() 使用新API)?

基本上,我如何使以下代码在 API

private MediaSessionManager mSessionManager;
private MediaController mController;

private MediaSessionManager.OnActiveSessionsChangedListener sessionListener = new MediaSessionManager.OnActiveSessionsChangedListener() {

    @Override
    public void onActiveSessionsChanged(List<MediaController> controllers) {
        mController = controllers.get(0);
        mController.registerCallback(controllerCallback);
    }
};


@Override
public void onCreate() {
    super.onCreate();

    mSessionManager = (MediaSessionManager) getSystemService(Context.MEDIA_SESSION_SERVICE);

    ComponentName componentName = new ComponentName(this, "com.example.MyNotificationListener");
    mSessionManager.addOnActiveSessionsChangedListener(sessionListener, componentName);

}

【问题讨论】:

  • 你知道怎么做的吗?我想知道同样的事情......

标签: android android-support-library android-mediasession


【解决方案1】:

这是不可能的。支持库中没有 MediaSessionManager 的替代品,因此您只能坚持使用它。

https://stackoverflow.com/a/36626943/396106

【讨论】:

  • 请不要发布指向duplicate answers的链接。相反,请考虑其他可以帮助未来用户找到所需答案的操作,如链接帖子中所述。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多