确定第三方应用程序正在 iPhone 上播放的歌曲
Posted
技术标签:
【中文标题】确定第三方应用程序正在 iPhone 上播放的歌曲【英文标题】:Determine song being played on iPhone by third-party app 【发布时间】:2012-01-22 11:49:23 【问题描述】:我正在尝试确定当前在 iPhone 上播放的歌曲的标题。我知道如果原生 Apple 应用正在播放音乐,我可以使用以下代码找出正在播放的内容,但如果歌曲是从 Spotify 或其他音乐播放应用播放的,我如何找到歌曲的标题?
MPMediaItem *nowPlayingItem = [[MPMusicPlayerController iPodMusicPlayer] nowPlayingItem];
NSString *itemTitle = [nowPlayingItem valueForProperty:MPMediaItemPropertyTitle];
【问题讨论】:
你不能。这是播放应用程序的私有信息。 @weber 你找到解决方案了吗?我目前正在努力解决同样的问题:) 【参考方案1】:不,如果歌曲在其他应用程序中播放,您将无法获得歌曲的标题!
编辑 1 -
您不能这样做,因为 Apple 有一项非常严格的政策,即在其自己的小沙箱中运行每个应用程序,该沙箱无法访问任何其他应用程序数据。
-- 谢谢埃米尔 ...
【讨论】:
如果您要对问题或答案投反对票,请始终填写 cmets! 我没有投反对票,但您应该在回答中提供更多详细信息。例如:“你不能这样做,因为 Apple 有一项非常严格的政策,即在自己的小沙箱中运行每个应用程序,不能访问任何其他应用程序数据。”。【参考方案2】:假设应用支持 ios 5 的 MPNowPlayingInfoCenter
,您可以这样做:
NSDictionary *info = [[MPNowPlayingInfoCenter defaultCenter] nowPlayingInfo];
NSString *title = [info valueForKey:MPMediaItemPropertyTitle];
【讨论】:
这不起作用,但如果可以以编程方式创建类型为 UIEventTypeRemoteControl 的 UIEvent,我似乎可以使用 MPNowPlayingInfoCenter。知道这是否可能吗?以上是关于确定第三方应用程序正在 iPhone 上播放的歌曲的主要内容,如果未能解决你的问题,请参考以下文章
在 iPhone 上:找出当前正在播放的歌曲? (在 iPod 音乐播放器中)[重复]
iPhone :remoteioplayer 如何知道歌曲播放完毕