簡體   English   中英

CarPlay - 在 iOS 13 中顯示正在播放的屏幕

[英]CarPlay - Show Now Playing screen in iOS 13

我的應用程序已經是手機上當前的“正在播放的應用程序”(即所有必需的信息都提供給MPNowPlayingInfoCenter )並且它正確地顯示在鎖定屏幕中,包括藝術家姓名、曲目標題、藝術品圖像等。

根據文檔,填充MPNowPlayingInfoCenter.default().nowPlayingInfo MPRemoteCommandCenter適當的目標/操作應該足以確保當用戶點擊“ Now Playing圖標時在 CarPlay 中調用您的應用程序。

在 iOS 14 上,我設法通過將CPNowPlayingTemplate推送到堆棧來實現上述目標,這要歸功於我在本文中發現的一些巧妙技巧。

不過,在 iOS 13 上,所有內容都基於可怕的MPPlayableContentManager API,並且沒有為基於音頻的應用程序調用CPTemplateApplicationSceneDelegate方法,我根本找不到檢測是否/何時顯示“正在播放”屏幕的方法。

MPNowPlayingInfoCenterMPRemoteCommandCenter已正確配置 - 如上所述 - 但在 iOS 13 上點擊 CarPlay 中的“正在播放”圖標時,我的應用程序未啟動。

我認為這個 API會幫助我,但我不知道如何(它總是返回一個空數組)。

唯一的解決方法似乎是將<key>UIBrowsableContentSupportsImmediatePlayback</key><true/>添加到您的Info.plist :Now Playing 得到正確顯示,但它立即開始播放,這不是我想要的。

誰能提供一個可行的解決方案?

在 iOS 14 之前的 CarPlay 上,我們在開始播放后設置正在播放的標識符(在我們的例子中只有一個,因為我們沒有播放列表):

  • MPPlayableContentManager.shared().nowPlayingIdentifiers = ["Some Id"]
  • 此 id 應與啟動播放的MPContentItem的 id 相同(並且isPlayable設置為true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM