从Spotify iOS应用程序获取当前播放歌曲
我正在尝试在Spotify iOS应用程序中获取有关当前播放歌曲的信息。场景如下:打开Spotify iOS应用程序,开始播放歌曲。将应用程序置于后台并打开我的iOS应用程序。有没有办法让这首歌在我的iOS应用程序Spotify上播放 我尝试过使用本文中描述的nowPlayingItem属性,但没有成功: 我尝试过使用[MPNowPlayingFoCenter defaultCenter]。nowPlayingInfo,如本文所述,但它不起作用: 我在苹果开发者论坛上看到了这篇帖子中提出的相同问题: 有人遇到过这个问题吗?你找到可行的解决办法了吗从Spotify iOS应用程序获取当前播放歌曲,spotify,mpnowplayinginfocenter,Spotify,Mpnowplayinginfocenter,我正在尝试在Spotify iOS应用程序中获取有关当前播放歌曲的信息。场景如下:打开Spotify iOS应用程序,开始播放歌曲。将应用程序置于后台并打开我的iOS应用程序。有没有办法让这首歌在我的iOS应用程序Spotify上播放 我尝试过使用本文中描述的nowPlayingItem属性,但没有成功: 我尝试过使用[MPNowPlayingFoCenter defaultCenter]。nowPlayingInfo,如本文所述,但它不起作用: 我在苹果开发者论坛上看到了这篇帖子中提出的相同问
谢谢,如果我没说错的话,苹果不允许程序共享数据(出于安全原因)。所以这可能就是问题所在。以下是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开始,您必须在Info.plist中为NSAppleMusicUsageDescription
设置描述字符串,才能访问用户的音乐
mediaItem
将是播放内容时的一个实例。您可以使用值(forProperty:)
方法访问媒体项的属性。此方法接受一个属性。“MPMediaItem”的文档在“通用媒体项目属性密钥”标题下定义了属性。使用最新版本的Spotify iOS SDK(于2018年9月左右推出),您现在可以订阅播放器事件并检测新曲目何时开始播放
有关更多信息,请查看他们的。首先,您需要将spotify应用程序连接到您的应用程序,然后您可以从
SPTAppRemotePlayerState?.track.uri
从中可以得到uri的可能重复项我不认为这是重复项,因为这个问题需要一个通用的解决方案,因此,这个问题的任何答案都不能考虑任何可能的Spotify特定API。这可能会对您有所帮助:您应该提供从哪里获取的信息。这只适用于iOS播放器。对于像Spotify这样的第三方应用,mediaItem
是nil
。我也在寻找这一点,是否有任何方法可以访问第三方应用的当前播放信息?请尝试在您的答案中提供更多细节,也许是一个更好的例子