Ios6 为什么我的MPMediaItem NowPlayingItem返回空值?
我正在将iPod播放器整合到我的应用程序中。我可以创建一个队列,然后播放歌曲。我无法获取当前歌曲的属性值。我已经注册了通知,日志显示通知已触发Ios6 为什么我的MPMediaItem NowPlayingItem返回空值?,ios6,mpmediaitem,Ios6,Mpmediaitem,我正在将iPod播放器整合到我的应用程序中。我可以创建一个队列,然后播放歌曲。我无法获取当前歌曲的属性值。我已经注册了通知,日志显示通知已触发 MPMediaItem *currentItem = self.musicPlayer.nowPlayingItem; NSLog(@"currentItem = %@", currentItem); 日志输出显示:currentItem=null 我正在运行Xcode 4.5.2 iOS 6.0 非常感谢您的帮助。对于其他可能遇到相同问题的人,问题是
MPMediaItem *currentItem = self.musicPlayer.nowPlayingItem;
NSLog(@"currentItem = %@", currentItem);
日志输出显示:currentItem=null
我正在运行Xcode 4.5.2 iOS 6.0
非常感谢您的帮助。对于其他可能遇到相同问题的人,问题是我在运行应用程序后同步了我的音乐。您需要观察库的更改:
MPMediaLibraryDidChangeNotification
[[MPMediaLibrary defaultLibrary] beginGeneratingLibraryChangeNotifications];
对于其他可能遇到相同问题的人来说,问题是我在运行应用程序后同步了我的音乐。您需要观察库的更改:
MPMediaLibraryDidChangeNotification
[[MPMediaLibrary defaultLibrary] beginGeneratingLibraryChangeNotifications];
你写的NSLog@currentItem=%@,当前项目;在您的代码中,但可能您还没有完全了解什么是MPMediaItem
MPMediaItem不是NSString,这就是为什么这里为null。MPMediaItem有很多属性,包括歌曲标题、专辑名和艺术家名。要访问MPMediaItem的属性(如标题),请使用valueForProperty:method
NSLog(@"currentItem = %@", [currentItem valueForProperty:MPMediaItemPropertyTitle])
类似这样的东西。你写的NSLog@currentItem=%@,当前项目;在您的代码中,但可能您还没有完全了解什么是MPMediaItem
MPMediaItem不是NSString,这就是为什么这里为null。MPMediaItem有很多属性,包括歌曲标题、专辑名和艺术家名。要访问MPMediaItem的属性(如标题),请使用valueForProperty:method
NSLog(@"currentItem = %@", [currentItem valueForProperty:MPMediaItemPropertyTitle])
类似这样的问题。我还遇到了一个问题,我无意中将应用程序播放器混入了其中
[MPMusicPlayerController applicationMusicPlayer]
还有ipod播放器
[MPMusicPlayerController iPodMusicPlayer]
我使用iPodMusicPlayer播放音乐时,无意中试图调整applicationMusicPlayer的音量
所以要小心不要无意中把它们混在一起- 我还遇到了一个问题,我意外地将应用程序播放器混入其中
[MPMusicPlayerController applicationMusicPlayer]
还有ipod播放器
[MPMusicPlayerController iPodMusicPlayer]
我使用iPodMusicPlayer播放音乐时,无意中试图调整applicationMusicPlayer的音量
所以要小心不要无意中把它们混在一起- 看起来很有希望。谢谢我在寻找一种方法来观察媒体项目的变化。看起来很有希望。谢谢我在寻找一种观察媒体项目变化的方法。