【问题标题】:CarPlay: Customize "Now playing" screenCarPlay:自定义“正在播放”屏幕
【发布时间】:2021-07-10 15:06:13
【问题描述】:

carplay 应用中只有一个页面,其中包含电台列表。如果您点击一个,则会出现“正在播放”屏幕:

在“正在播放”屏幕中,我想更改后退按钮的按钮文本(左上角)和应用名称的文本(右上角)。
我也想隐藏“1/1”。这是 iOS 14 中的新功能,但找不到此属性。

【问题讨论】:

  • 任何机会你都可以把这段代码放在 GitHub 上——我一直不知道怎么做。我们需要更多的公共资源。
  • 我在这里的 Xamarin 中完成了这个:github.com/Suplanus/Xamarin.Demo.Carplay
  • 对不起,你能告诉我如何在右上角显示一个可以显示正在播放信息的按钮吗?
  • 如果您设置了 NowPlayingIdentifiers,则会自动创建正在播放的按钮。

标签: swift ios14 carplay


【解决方案1】:

根据the documentation for CPNowPlayingTemplate,用于填充视图的信息来自MPNowPlayingSessionMPNowPlayingInfoCenter 对象。

我确实注意到MPNowPlayingInfoCenter 文档中的这一重要行:

您无法直接控制显示哪些信息或其格式。您根据要提供给系统的信息设置正在播放的信息中心字典的值。系统或连接的附件以一致的方式处理所有应用程序的信息显示。


“1/1”/“1 von 1”/“1 of 1”值由两个键指定:

我相信左上角的后退按钮总是由您的应用程序的显示名称硬编码,但我可能错了。

【讨论】:

  • 很好的答案。谢谢。但是我看到没有“1/1”的应用程序,如何隐藏这个?将其设置为null?如果从根页面导航,则返回按钮是应用名称,或者从子页面导航时是页面标题。
  • @Suplanus MPNowPlayingInfoPropertyPlaybackQueueIndex 的字典值为NSUInteger(又名unsigned long),不能为空。我可能会建议使用零值或 -1 (negative-1) 或从字典中完全删除两个键并查看会发生什么。我使用 CarPlay 的经验为零,而且我已经 4 年多没有使用过 Swift 或 Apple 的 SDK 了 :)
  • 你能告诉我我应该怎么做才能在第一张图片上显示一个正在播放的图标,我最近花了更多时间来显示它,但仍然不能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
相关资源
最近更新 更多