如何在 CarPlay 中显示“正在播放”选项卡?
Posted
技术标签:
【中文标题】如何在 CarPlay 中显示“正在播放”选项卡?【英文标题】:How to show the Now Playing Tab in CarPlay? 【发布时间】:2018-01-29 05:24:17 【问题描述】:我正在开发一款支持 CarPlay 的应用。它是一款音频应用。
我可以显示 2 个标签(收藏和推荐),但我只是不知道如何显示“正在播放”标签。我只是找不到任何有关此的信息。 我是否必须手动显示它,以及如何推送?我必须手动完成吗?如果有,viewcontroller 是什么?
谢谢。
【问题讨论】:
CarPlay 文档的不足之处真是太疯狂了! 在 ios 12 中,它变得更好了。 【参考方案1】:要让正在播放选项卡在模拟器和实际汽车上都可以工作,您需要确保
在当前的UIApplication
上调用beginReceivingRemoteControlEvents
,然后
在MPPlayableContentManager
上设置nowPlayingIdentifier
在playableContentManager:initiatePlaybackOfContentItemAtIndexPath:completionHandler:
中调用完成处理程序之前。
【讨论】:
太棒了!我已经完成了第一个也是最后一个建议,我认为这已经成功了。我想知道是否需要第二个,但我不知道该怎么做。如何设置正在播放的标识符? @mike-nelson:MPPlayableContentManager.sharedContentManager.nowPlayingIdentifiers = @[ nowPlaying ]
,其中 nowPlaying 是您开始播放的MPContentItem
的 ID。
感谢@DrMickeyLauer,这可行,它现在在 carplay 列表视图中的播放项目旁边显示一个小扬声器图标。但是,beginReceivingRemoteControlEvents
实际上会阻止显示正在播放的屏幕,除非我调用 endReceivingRemoteControlEvents
并在每次调用 play 时重新开始。这几乎可以完美运行,除了第一次播放项目时拒绝显示正在播放的屏幕。有什么建议吗?
@DrMickeyLauer 请你帮帮我,我已经设置了这样的东西,但它不起作用:***.com/questions/64059229/…【参考方案2】:
我知道这篇文章已经发布了几个月,但对我来说,我必须在带有 CarPlay 的实际设备中进行测试。 Apple 表示始终在带有 CarPlay 的实际设备上对其进行测试。起初,我在模拟器中没有看到“正在播放”选项卡,但一旦在设备中进行测试,它就会自动出现。我没有做任何特别的事情。我认为 CarPlay 知道您何时通过 MPNowPlayingInfoCenter 播放音频,并在实际的 CarPlay 设备中自动执行此操作。
【讨论】:
以上是关于如何在 CarPlay 中显示“正在播放”选项卡?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 CarPlay 音频应用程序中的实时 URL 集成音频