微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 Android 的 PIP 窗口中删除 SKIP_TO_NEXT 和 SKIP_TO_PREVIOUS 按钮?

如何解决如何从 Android 的 PIP 窗口中删除 SKIP_TO_NEXT 和 SKIP_TO_PREVIOUS 按钮?

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

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

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

我该怎么做?

解决方法

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

对于一些背景,我提供了 declaring supported actions in my MediaSession codelab 的片段。

在您的情况下,MediaSessionConnector 似乎已发现存在播放队列。您可能想要查看队列的内容是如何提供给 ExoPlayer 的媒体源的。

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。