【问题标题】:Determine song being played on iPhone by third-party app确定第三方应用程序正在 iPhone 上播放的歌曲
【发布时间】:2012-01-22 11:49:23
【问题描述】:

我正在尝试确定当前在 iPhone 上播放的歌曲的标题。我知道如果原生 Apple 应用正在播放音乐,我可以使用以下代码找出正在播放的内容,但如果歌曲是从 Spotify 或其他音乐播放应用播放的,我如何找到歌曲的标题?

MPMediaItem *nowPlayingItem = [[MPMusicPlayerController iPodMusicPlayer] nowPlayingItem];
NSString *itemTitle = [nowPlayingItem valueForProperty:MPMediaItemPropertyTitle];

【问题讨论】:

  • 你不能。这是播放应用程序的私有信息。
  • @weber 您找到解决方案了吗?我目前正在努力解决同样的问题:)

标签: iphone objective-c


【解决方案1】:

不,如果歌曲在其他应用中播放,您将无法获得歌曲的标题!

编辑 1 -

您不能这样做,因为 Apple 有一项非常严格的政策,即在其自己的小沙箱中运行每个应用程序,该沙箱无法访问任何其他应用程序数据。

-- 谢谢埃米尔 ...

【讨论】:

  • 如果您要对问题或答案投反对票,请始终填写 cmets!
  • 我没有投反对票,但您应该在回答中提供更多详细信息。例如:“你不能这样做,因为 Apple 有一项非常严格的政策,即在自己的小沙箱中运行每个应用程序,不能访问任何其他应用程序数据。”。
【解决方案2】:

假设应用支持 iOS 5 的 MPNowPlayingInfoCenter,您可以这样做:

NSDictionary *info = [[MPNowPlayingInfoCenter defaultCenter] nowPlayingInfo];
NSString *title = [info valueForKey:MPMediaItemPropertyTitle];

【讨论】:

  • 这不起作用,但如果可以以编程方式创建类型为 UIEventTypeRemoteControl 的 UIEvent,我似乎可以使用 MPNowPlayingInfoCenter。知道这是否可能吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 2013-12-29
相关资源
最近更新 更多