編程方式獲取當前播放曲目的名稱和藝術家,我曾嘗試以下:斯威夫特
let nowPlaying = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
但是我回來nil
每次我一首歌的演奏中運行它。
我希望能夠抓住曲目標題和藝術家,並將其顯示在我的應用程序中。
編程方式獲取當前播放曲目的名稱和藝術家,我曾嘗試以下:斯威夫特
let nowPlaying = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
但是我回來nil
每次我一首歌的演奏中運行它。
我希望能夠抓住曲目標題和藝術家,並將其顯示在我的應用程序中。
你這樣做完全是錯誤的。 MPNowPlayingInfoCenter與學習目前正在播放的內容無關。如果您想知道當前正在播放的音樂應用程序,請詢問「iPod音樂播放器」(在iOS 8中,它被稱爲MPMusicPlayerController.systemMusicPlayer
)。
文檔在這裏:https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMusicPlayerController_ClassReference/ – matt
您是否設置了它們?
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
問題是如何以編程方式快速獲取當前正在播放的曲目的名稱和藝術家。這不回答OP問題 –
這不是一個API來獲取當前播放項目通知來自Music或其他應用程序,但要告訴系統您的應用程序正在播放某些內容併爲其提供在鎖定屏幕上顯示所需的信息。
所以基本上你想要做的事情不會像你期望的那樣工作。
這裏是一個有用的參考:https://stackoverflow.com/questions/28979013/how-do-i-get-the-album-artwork-of-the-currently-playing-music-using-swift/48035857 #48035857 –