我想从我的iPod音乐库中播放特定的歌曲。我该怎么做? 我的想法是从MPMediaQuery保存标题名称,然后在应用程序启动时播放 所以任何人都可以有这个想法吗?
谢谢。
答案 0 :(得分:2)
基本解决方案是保存库中每首歌的唯一标识符,即MPMediaItemPropertyPersistentID
。您可以使用此ID播放歌曲,并且可以将ID保存到内存中,以便记住用户在启动之间选择的歌曲。如果您不知道Media Player Framework的工作原理,请查看AddMusic示例代码。
您的视图控制器必须实现MPMediaPickerControllerDelegate
协议。假设您只是允许用户选择一首歌曲,那么回调的基本轮廓将如下所示。
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
{
NSArray* items = [mediaItemCollection items];
if ([items count] == 1)
{
MPMediaItem* song = (MPMediaItem *)[items objectAtIndex:0];
NSNumber* persistentId = [song valueForProperty:MPMediaItemPropertyPersistentID];
// ...Save/Play here...
}
}
此时,您可以使用持久性ID来播放歌曲,和/或将其保存为用户默认值。