为什么我的mpMediaItem nowPlayingItem返回null



我将iPod播放器合并到我的应用中。我能够创建一个队列,然后播放歌曲。我无法获得当前歌曲的属性值。我已经注册了通知,日志显示通知已触发。

MPMediaItem *currentItem = self.musicPlayer.nowPlayingItem;
NSLog(@"currentItem = %@", currentItem);

日志输出显示:currentItem =(null)

我正在运行xcode 4.5.2 ios 6.0。

任何帮助都非常感谢。

对于任何可能遇到同一问题的人,问题是我在运行应用程序后同步了音乐。您需要观察图书馆更改:

MPMediaLibraryDidChangeNotification
[[MPMediaLibrary defaultLibrary] beginGeneratingLibraryChangeNotifications];

您在代码中写了NSLog(@"currentItem = %@", currentItem);,但也许您还没有完全了解mpmediaitem是什么。

mpMediaItem不是NSSTRING,这就是为什么您在此处无效的原因。MpMediaItem具有许多属性,包括歌曲标题,专辑名称和艺术家名称。要访问mpMediaItem的属性,例如标题,请使用ValueforProperty:方法。

NSLog(@"currentItem = %@", [currentItem valueForProperty:MPMediaItemPropertyTitle])

类似的东西。

我也遇到了我偶然混合应用程序播放器

的问题
[MPMusicPlayerController applicationMusicPlayer]

和iPod Player

[MPMusicPlayerController iPodMusicPlayer]

我正在使用ipodmusicclayer播放音乐,并试图偶然地调整ApplicationMusicClayer的音量。

所以要当心不要无意间混合; - )

相关内容

  • 没有找到相关文章

最新更新