如何解决如何从 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
的输出:
请注意,在这个 YouTube 示例中,播放队列包含 5 个项目,因此操作 ACTION_SKIP_TO_NEXT 包含在位掩码中:
有关这些操作常量的详细信息,我建议您阅读有关 the actions as declared in PlaybackState 的更多信息。
一旦您确认 MediaSession 正在报告正确的操作,PIP 显示不应再显示跳过下一个和上一个。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。