MPMusicPlayerController.systemMusicPlayer 和 AirPlay 的播放信息?

Posted

技术标签:

【中文标题】MPMusicPlayerController.systemMusicPlayer 和 AirPlay 的播放信息?【英文标题】:MPMusicPlayerController.systemMusicPlayer and playback info from AirPlay? 【发布时间】:2018-12-28 09:46:30 【问题描述】:

是否可以通过 AirPlay(ios、Swift)获取有关当前播放曲目的数据?

我的应用没有任何播放器,但它与可以播放音乐的蓝牙设备通信。我可以像这样获取有关当前音轨的信息:

let systemPlayer = MPMusicPlayerController.systemMusicPlayer
let nowPlayingInfo = systemPlayer.nowPlayingItem

然后只需像这样简单地获取数据:

print("title: \(nowPlayingInfo?.title)")
print("album title: \(nowPlayingInfo?.albumTitle)")
print("album artist: \(nowPlayingInfo?.albumArtist)")
print(" artist: \(nowPlayingInfo?.artist)")

但是,只有在 iTunes 播放某些内容(本地内容)时,我才能获取音频信息。当我通过 AirPlay(例如使用 Spotify)播放某些东西时,我得到的只是nil

如何获取每个场景的数据,例如 iOS 进入控制中心?:

查看音频信息

【问题讨论】:

【参考方案1】:

由于 Spotify 有自己的沙盒播放器,您将无法访问它的信息。

但是,您可以使用Spotify SDK 获取有关当前播放曲目的信息,前提是您为您的 Spotify 应用设置了register(在您的帐户仪表板上)。

请参阅此other SO post 了解更多信息。

【讨论】:

以上是关于MPMusicPlayerController.systemMusicPlayer 和 AirPlay 的播放信息?的主要内容,如果未能解决你的问题,请参考以下文章