【问题标题】:How to remove SKIP_TO_NEXT and SKIP_TO_PREVIOUS buttons from PIP window on Android?如何从 Android 的 PIP 窗口中删除 SKIP_TO_NEXT 和 SKIP_TO_PREVIOUS 按钮?
【发布时间】:2021-05-08 02:36:08
【问题描述】:

我正在使用这样的 exo-player 和媒体会话扩展。

mediaSessionCompat = new MediaSessionCompat(activity, activity.getPackageName());
MediaSessionConnector sessionConnector = new MediaSessionConnector(mediaSessionCompat);
sessionConnector.setPlayer(exoPlayer);
mediaSessionCompat.setActive(true);

当我进入 PIP 窗口时,它会显示 3 个控制按钮(播放/暂停、跳到下一个、跳到上一个)。我只想要播放/暂停按钮,并想删除跳到下一个和跳到上一个按钮。

我该怎么做?

【问题讨论】:

    标签: android android-mediasession picture-in-picture android-picture-in-picture


    【解决方案1】:

    虽然我不太熟悉 PIP 显示支持的操作的方式,但您可能希望准确查看 MediaSession 报告的操作。

    对于一些背景,我为declaring supported actions in my MediaSession codelab 提供了一个sn-p。

    在您的情况下,MediaSessionConnector 似乎发现有一个播放队列。相反,您可能想要查看您的队列内容是如何被提供到 ExoPlayer 的媒体源中的。

    有两种方法可以验证 MediaSession 仅包含正确的操作:

    • Media Controller Test 是一款移动应用,可让您查看报告了哪些操作并在漂亮的 UI 中对其进行测试。
    • 您可以改为检查adb shell dumpsys media_session 的输出:
      请注意,在这个 YouTube 示例中,播放队列包含 5 个项目,因此动作 ACTION_SKIP_TO_NEXT 包含在位掩码中:
      有关这些操作常量的详细信息,我建议您阅读有关 the actions as declared in PlaybackState 的更多信息。

    一旦您确认 MediaSession 报告了正确的操作,PIP 显示不应再显示跳过下一个和上一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2012-12-29
      • 2011-05-14
      • 2011-12-31
      • 2010-09-25
      相关资源
      最近更新 更多