[英]CarPlay - Show Now Playing screen in iOS 13
我的應用程序已經是手機上當前的“正在播放的應用程序”(即所有必需的信息都提供給MPNowPlayingInfoCenter
)並且它正確地顯示在鎖定屏幕中,包括藝術家姓名、曲目標題、藝術品圖像等。
根據文檔,填充MPNowPlayingInfoCenter.default().nowPlayingInfo
MPRemoteCommandCenter
適當的目標/操作應該足以確保當用戶點擊“ Now Playing
圖標時在 CarPlay 中調用您的應用程序。
在 iOS 14 上,我設法通過將CPNowPlayingTemplate
推送到堆棧來實現上述目標,這要歸功於我在本文中發現的一些巧妙技巧。
不過,在 iOS 13 上,所有內容都基於可怕的MPPlayableContentManager
API,並且沒有為基於音頻的應用程序調用CPTemplateApplicationSceneDelegate
方法,我根本找不到檢測是否/何時顯示“正在播放”屏幕的方法。
MPNowPlayingInfoCenter
和MPRemoteCommandCenter
已正確配置 - 如上所述 - 但在 iOS 13 上點擊 CarPlay 中的“正在播放”圖標時,我的應用程序未啟動。
我認為這個 API會幫助我,但我不知道如何(它總是返回一個空數組)。
唯一的解決方法似乎是將<key>UIBrowsableContentSupportsImmediatePlayback</key><true/>
添加到您的Info.plist
:Now Playing 得到正確顯示,但它立即開始播放,這不是我想要的。
誰能提供一個可行的解決方案?
在 iOS 14 之前的 CarPlay 上,我們在開始播放后設置正在播放的標識符(在我們的例子中只有一個,因為我們沒有播放列表):
MPPlayableContentManager.shared().nowPlayingIdentifiers = ["Some Id"]
MPContentItem
的 id 相同(並且isPlayable
設置為true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.