2015-06-08 103 views
3

編程方式獲取當前播放曲目的名稱和藝術家,我曾嘗試以下:斯威夫特

let nowPlaying = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo 

但是我回來nil每次我一首歌的演奏中運行它。

我希望能夠抓住曲目標題和藝術家,並將其顯示在我的應用程序中。

+0

這裏是一個有用的參考:https://stackoverflow.com/questions/28979013/how-do-i-get-the-album-artwork-of-the-currently-playing-music-using-swift/48035857 #48035857 –

回答

0

你這樣做完全是錯誤的。 MPNowPlayingInfoCenter與學習目前正在播放的內容無關。如果您想知道當前正在播放的音樂應用程序,請詢問「iPod音樂播放器」(在iOS 8中,它被稱爲MPMusicPlayerController.systemMusicPlayer)。

+0

文檔在這裏:https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMusicPlayerController_ClassReference/ – matt

-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
+2

問題是如何以編程方式快速獲取當前正在播放的曲目的名稱和藝術家。這不回答OP問題 –

0

這不是一個API來獲取當前播放項目通知來自Music或其他應用程序,但要告訴系統您的應用程序正在播放某些內容併爲其提供在鎖定屏幕上顯示所需的信息。

所以基本上你想要做的事情不會像你期望的那樣工作。