Получить текущую песню из приложения Spotify iOS
Я пытаюсь получить информацию о текущей игровой песне в приложении Spotify iOS. Сценарий выглядит следующим образом: Откройте приложение Spotify iOS, начните воспроизведение песни. Поместите приложение в фоновом режиме и откройте мое приложение iOS. Есть ли способ заставить песню играть на Spotify в моем приложении iOS?
Я попытался использовать свойство nowPlayingItem, как описано в этом сообщении, но это не сработало: На iPhone: узнать, какая песня в данный момент играет? (в музыкальном проигрывателе iPod)
Я попытался использовать [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo, как описано в этом сообщении, но это не сработало: Есть ли способ получить доступ к воспроизводимой в данный момент треку, в то время как iPhone подключен к аксессуару?
Я видел тот же вопрос, заданный в этом сообщении на форумах разработчиков Apple: https://devforums.apple.com/message/903640#903640.
Кто-нибудь столкнулся с этой проблемой? Вы нашли жизнеспособное решение?
Спасибо,
Ответы
Ответ 1
Вот решение в Swift 3:
let player = MPMusicPlayerController.systemMusicPlayer()
if let mediaItem = player.nowPlayingItem {
let title: String = mediaItem.value(forProperty: MPMediaItemPropertyTitle) as! String
let albumTitle: String = mediaItem.value(forProperty: MPMediaItemPropertyAlbumTitle) as! String
let artist: String = mediaItem.value(forProperty: MPMediaItemPropertyArtist) as! String
print("\(title) on \(albumTitle) by \(artist)")
}
Обратите внимание, что начиная с iOS 10 вы должны установить строку описания для NSAppleMusicUsageDescription
в Info.plist, чтобы получить доступ к музыке пользователя.
mediaItem
будет экземпляром MPMediaItem
, если есть что-то. Вы можете получить доступ к атрибутам элемента мультимедиа с помощью метода value(forProperty:)
. Эти методы принимают свойство. Свойства определены в документации для `MPMediaItem под заголовком "Ключи свойств общих мультимедийных элементов".
Ответ 2
Если я не ошибаюсь, Apple не позволяет программе обмениваться данными (по соображениям безопасности). Так что, возможно, проблема.
Ответ 3
С последней версией Spotify iOS SDK (выпущенной в сентябре 2018 года) вы теперь можете подписаться на события игрока и определять, когда начинается воспроизведение новой дорожки.
Для получения дополнительной информации ознакомьтесь с кратким руководством.