Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Spotify iOS应用程序获取当前播放歌曲_Spotify_Mpnowplayinginfocenter - Fatal编程技术网

从Spotify iOS应用程序获取当前播放歌曲

从Spotify iOS应用程序获取当前播放歌曲,spotify,mpnowplayinginfocenter,Spotify,Mpnowplayinginfocenter,我正在尝试在Spotify iOS应用程序中获取有关当前播放歌曲的信息。场景如下:打开Spotify iOS应用程序,开始播放歌曲。将应用程序置于后台并打开我的iOS应用程序。有没有办法让这首歌在我的iOS应用程序Spotify上播放 我尝试过使用本文中描述的nowPlayingItem属性,但没有成功: 我尝试过使用[MPNowPlayingFoCenter defaultCenter]。nowPlayingInfo,如本文所述,但它不起作用: 我在苹果开发者论坛上看到了这篇帖子中提出的相同问

我正在尝试在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
。我也在寻找这一点,是否有任何方法可以访问第三方应用的当前播放信息?请尝试在您的答案中提供更多细节,也许是一个更好的例子