Ios 以编程方式获取当前在Swift中播放的曲目的名称和艺术家
我尝试了以下方法:Ios 以编程方式获取当前在Swift中播放的曲目的名称和艺术家,ios,swift,Ios,Swift,我尝试了以下方法: let nowPlaying = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo 然而,每当我播放歌曲运行它时,我都会返回nil 我希望能够抓取曲目标题和艺术家,并将其显示在我的应用程序中。您设置了它们吗 var audioPlayer:MPMoviePlayerController=MPMoviePlayerController() MPNowPlayingInfoCenter.defaultCenter().
let nowPlaying = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
然而,每当我播放歌曲运行它时,我都会返回nil
我希望能够抓取曲目标题和艺术家,并将其显示在我的应用程序中。您设置了它们吗
var audioPlayer:MPMoviePlayerController=MPMoviePlayerController()
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = [
MPMediaItemPropertyAlbumTitle: "Album Title",
MPMediaItemPropertyTitle: "Title",
MPNowPlayingInfoPropertyElapsedPlaybackTime: audioPlayer.currentPlaybackTime,
MPMediaItemPropertyPlaybackDuration: audioPlayer.duration]
正在播放的信息中心支持以下媒体项属性键:
MPMediaItemPropertyAlbumTitle
MPMediaItemPropertyAllBumTrackCount
MPMediaItemPropertyAlbumTrackNumber
MPMediaItemPropertyTitist
MPMediaItemPropertyNetwork
MPMediaItemPropertyComposer
MPMediaItemPropertyDiscCount
MPMediaItemPropertyDiscNumber
MPMediaItemPropertyGenre
MPMediaItemPropertyTypersistentId
MPMediaItemPropertyPlaybackDuration
MPMediaItemPropertyTitle
因此,基本上你正在尝试做的事情不会像你期望的那样起作用 你这样做完全是错误的。MPNowPlayingFoCenter与了解当前播放的内容无关。如果您想知道音乐应用程序当前正在播放什么,请询问“iPod音乐播放器”(在iOS 8中,它被称为
MPMusicLayerController.SystemMusicLayer
)。如果您正在编写iOS应用程序,请尝试此操作
let musicPlayer = MPMusicPlayerController.systemMusicPlayer
if let nowPlayingItem = musicPlayer.nowPlayingItem [
print(nowPlayingItem.title)
} else {
print("Nothing's playing")
}
问题是如何通过编程方式在swift中获得当前播放曲目的名称和艺术家。这并没有回答此处的文档问题:这里有一个有用的参考: