Невозможно отобразить обложку альбома в Carplay music

#swift #ios14 #mpnowplayinginfocenter #carplay #artwork

#быстрый #ios14 #mpnowplayinginfocenter — информационный центр #автомобильная игра #художественное произведение

Вопрос:

Я создаю музыкальное приложение для iOS, которое может интегрироваться с Apple Carplay, я могу нормально воспроизводить музыку на Carplay и отображать некоторую информацию о песне, такую как название, альбом, имя исполнителя. Однако не удается отобразить обложку альбома.

Это массовый код для отображения мультимедийной информации в Carplay:

      if let nowPlayingItem: PlaylistItem = self.nowPlayingItem {
        let info: NSMutableDictionary = NSMutableDictionary()
        info[MPMediaItemPropertyArtist] = nowPlayingItem.mediaItem?.artist?.name
        info[MPMediaItemPropertyAlbumTitle] = nowPlayingItem.mediaItem?.album?.title
        info[MPMediaItemPropertyTitle] = nowPlayingItem.mediaItem?.title
        info[MPMediaItemPropertyPlaybackDuration] = nowPlayingItem.mediaItem?.playbackDuration
        info[MPMediaItemPropertyArtwork] = nowPlayingItem.mediaItem?.artwork()
        let sec: TimeInterval = CMTimeGetSeconds(time)
        info[MPNowPlayingInfoPropertyElapsedPlaybackTime] = Int(sec)
        MPNowPlayingInfoCenter.default().nowPlayingInfo = info as? [String: Any]
    }
 

Это мое текущее приложение:

введите описание изображения здесь

И это то, что я хочу :

введите описание изображения здесь

Так что же мне нужно сделать ? Пожалуйста, помогите мне найти решение для этого.

Комментарии:

1. Вы уже опубликовали ту же тему около 12 часов назад. Почему вы это повторяете?

2. Потому что там нужно кое-что отредактировать, поэтому я удалил предыдущую тему

3. Отображается ли изображение на системном проигрывателе iPhone в центре уведомлений или на экране блокировки?

4. я просто хочу показать это при воспроизведении музыки в автомобиле, в настоящее время изображение отображается в уведомлении или в центре нормально, но ни при воспроизведении в автомобиле

Ответ №1:

Вероятно, вы тестируете на симуляторе. Хотя следующий код иногда необходим для отображения экрана «Сейчас воспроизводится» вообще, в настоящее время невозможно заставить симулятор CarPlay определить, что проигрыватель действительно играет:

 #if targetEnvironment(simulator)
    UIApplication.shared.endReceivingRemoteControlEvents()
    UIApplication.shared.beginReceivingRemoteControlEvents()
#endif
 

Я не смог заставить обложку альбома отображаться на экране «Сейчас воспроизводится» в симуляторе. Есть ли у вас доступ к обычной автомагнитоле (я настоятельно рекомендую протестировать ее перед отправкой в App Store)? Я знаю, это может показаться не очень убедительным, но если ваша обложка отображается в проигрывателе центра уведомлений на iPhone, она также будет отображаться в CarPlay (на реальном устройстве), поскольку воспроизводимые компоненты просто проксируются.