StackOverflow我想试着阅读ios7+控制中心的当前播放歌曲,使用目标-c中的快速lang,我可以用下面的代码来读取它。
NSDictionary *nowPlaying = @{MPMediaItemPropertyArtist: currentTrack.artist,
MPMediaItemPropertyAlbumTitle: currentTrack.title};但我不知道song_info_getter方法是如何在快速的P.s中编写的。我找不到类似的问题
具体来说,我很难获得当前的轨道信息。(艺人/专辑/等)
我在桌面(Mac)上做了这个:
func get_iTunes_data() {
NSDistributedNotificationCenter.defaultCenter().addObserver(self, selector: "allDistributedNotifications:", name: "com.apple.iTunes.playerInfo", object: "com.apple.iTunes.player")
}
var now : String = ""
func allDistributedNotifications (note : NSNotification) {
let userInfo:NSDictionary = note.userInfo as NSDictionary
println(userInfo)
}但我不知道如何为iOS做这样的事
发布于 2014-08-06 11:53:20
在iOS上,这实际上是无痛的。MPMusicPlayerController类提供了以MPMediaItem的形式访问当前播放项的方法,其中包含所有这些信息。
iOS 8+
let nowPlaying = MPMusicPlayerController.systemMusicPlayer().nowPlayingItem在iOS 8之前
let nowPlaying = MPMusicPlayerController.iPodMusicPlayer().nowPlayingItem然后,从上面返回的MPMediaItem中提取单个信息片段。请记住,所有不同的键都以MPMediaItemProperty开头.但并不是所有的人都会返回字符串。一些人将返回NSNumbers等。有关这方面的信息,请参阅文档。
let trackName = nowPlaying.valueForProperty(MPMediaItemPropertyTitle) as String真实答案
对不起,我这么做是为了MPMusicPlayController。下面是如何从MPNowPlayingInfoCenter访问信息。
let nowPlaying = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfohttps://stackoverflow.com/questions/25158559
复制相似问题