#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 (на реальном устройстве), поскольку воспроизводимые компоненты просто проксируются.