簡體   English   中英

使用模擬器測試 CarPlay 音頻

[英]Testing CarPlay Audio using the simulator

我使用 Swift / UIKit 開發了一個 iOS 無線電音頻應用程序,一切正常。

我想與 CarPlay 集成並獲得所需的權利。

我相信我大部分都設置正確,因為我可以看到帶有我的 CPListItems 的 CPListTemplate 並且在點擊其中一個時,它會轉到 CPNowPlayingTemplate 並且音頻開始在模擬器中播放。

雖然一切似乎都運行良好,但是,有兩個問題:

  1. 我似乎無法與 CPNowPlayingTemplate 播放/暫停按鈕進行交互,我只是一直看到播放按鈕,但點擊它什么也沒做

CarPlay 模擬器

添加此代碼后,我可以在設備的鎖定屏幕上和通過命令中心執行此操作:

func setupNowPlayingInfoCenter(){
    UIApplication.shared.beginReceivingRemoteControlEvents()
    MPRemoteCommandCenter.shared().playCommand.isEnabled = true
    MPRemoteCommandCenter.shared().playCommand.addTarget { [weak self] event in
      self?.reliableRadioPlayer?.play()
      return .success
    }
    
    MPRemoteCommandCenter.shared().pauseCommand.isEnabled = true
    MPRemoteCommandCenter.shared().pauseCommand.addTarget { [weak self] event in
      self?.reliableRadioPlayer?.pause()
      return .success
    }
  }
  1. 第二個問題再次出現在同一屏幕上,我看不到任何元數據,例如藝術作品、歌曲名稱和藝術家姓名 - 借助這些代碼行,這些再次顯示在設備的鎖定屏幕和命令中心:
MPNowPlayingInfoCenter.default().nowPlayingInfo = 
[MPMediaItemPropertyTitle: currentlyPlaying.getSongName(),
MPMediaItemPropertyArtist: currentlyPlaying.getSongArtist(),
MPMediaItemPropertyArtwork: artwork]

我是否需要進行其他設置,或者這些僅僅是 CarPlay 模擬器的限制?

謝謝

雖然我不認為這會是最佳答案,而且有人可能會想出更好的方法,但我認為這里有一些東西可以改進您測試 CarPlay 的方式並解釋您可能面臨的一些問題:

  1. 在啟動 NowPlayingTemplate 之前添加這兩行代碼
#if targetEnvironment(simulator)
    UIApplication.shared.endReceivingRemoteControlEvents()
    UIApplication.shared.beginReceivingRemoteControlEvents()
#endif

我立即看到模擬器顯示的元數據有一些改進Swift CarPlay NowPlayingTemplate

  1. 玩家狀態無法准確反映在模擬器上

當您在 CarPlay 模擬器上啟動應用程序並顯示正在播放的模板時,很可能您的音頻正在播放,但播放器的狀態將顯示,如果您有一個,這將不會在您的 CPListTemplate 中准確顯示 isPlaying 狀態

Swift CarPlay NowPlayingTemplate 狀態已停止 Swift CarPlay CPListTemplate CPListItem isPlaying false

這里沒有什么可擔心的,因為它在汽車上運行良好,但是,我建議只需單擊播放按鈕,這樣您就可以在 NowPlayingTemplate 和 CPListTemplate 屏幕中看到活動狀態以及動畫條

Swift CarPlay NowPlayingTemplate 播放狀態 Swift CarPlay CPListTemplate CPListItem isPlaying true

  1. 在真機上測試

雖然我認為我們大多數人不能僅僅為了測試 CarPlay 而購買汽車,但您可以考慮購買支持 CarPlay 的汽車音響,例如 Sony XAV-AX5500、Sony XAV-AX1005DB 或類似的低端產品

你不能用家里的插頭正常給汽車音響供電,所以我建議你在網上播放一些視頻來給它供電,但是, 這是我發現使用筆記本電腦充電器最簡單的一個——基本上我相信你需要 12V 或更高的電壓

祝你好運

暫無
暫無

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

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