以编程方式获取Swift中当前播放曲目的名称和艺术家

时间:2015-06-08 01:18:26

标签: ios swift

我尝试了以下内容:

let nowPlaying = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo

然而,每当我播放一首歌时,我都会回来nil

我希望能够抓住曲目标题和艺术家并将其显示在我的应用中。

4 个答案:

答案 0 :(得分:0)

这不是用于从音乐或其他应用获取当前播放项目信息的API,而是告诉系统您的应用当前正在播放某些内容并向其提供在锁定屏幕上显示所需信息。

所以基本上你想要做的事情就像你期望的那样工作。

答案 1 :(得分:0)

你完全以错误的方式解决这个问题。 MPNowPlayingInfoCenter与学习当前正在播放的内容无关。如果您想知道音乐应用当前播放的内容,请询问“iPod音乐播放器”(在iOS 8中,它被称为MPMusicPlayerController.systemMusicPlayer)。

答案 2 :(得分:0)

如果您正在编写iOS应用,请尝试

let musicPlayer = MPMusicPlayerController.systemMusicPlayer
if let nowPlayingItem = musicPlayer.nowPlayingItem [
    print(nowPlayingItem.title)
} else {
print("Nothing's playing")
}

答案 3 :(得分:-2)

你有没有设置它们?

var audioPlayer:MPMoviePlayerController=MPMoviePlayerController()

MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = [
    MPMediaItemPropertyAlbumTitle: "Album Title",
    MPMediaItemPropertyTitle: "Title",
    MPNowPlayingInfoPropertyElapsedPlaybackTime: audioPlayer.currentPlaybackTime,
    MPMediaItemPropertyPlaybackDuration: audioPlayer.duration]

正在播放的信息中心支持以下媒体项属性键:

  • MPMediaItemPropertyAlbumTitle
  • MPMediaItemPropertyAlbumTrackCount
  • MPMediaItemPropertyAlbumTrackNumber
  • MPMediaItemPropertyArtist
  • MPMediaItemPropertyArtwork
  • MPMediaItemPropertyComposer
  • MPMediaItemPropertyDiscCount
  • MPMediaItemPropertyDiscNumber
  • MPMediaItemPropertyGenre
  • MPMediaItemPropertyPersistentID
  • MPMediaItemPropertyPlaybackDuration
  • MPMediaItemPropertyTitle