从iPod音乐库播放

问题描述:

我想从我的iPod音乐库中播放特定的歌曲。我该怎么做? 我的想法是保存MPMediaQuery的标题名称,然后在应用程序启动时稍后播放 ,因此任何人都可以有想法做到这一点?从iPod音乐库播放

谢谢。

基本的解决方案是保存库中每首歌的唯一标识符,也就是MPMediaItemPropertyPersistentID。您可以使用此ID播放歌曲,并且可以将ID保存到内存中以记住用户在启动之间选择的歌曲。如果您不知道媒体播放器框架如何工作,请查看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来播放歌曲,和/或将其保存为用户默认值。

+1

如何发挥我们知道它的persistentId的声音? – coure2011 2010-07-03 04:30:47

+1

如何将歌曲复制到我们知道persistentId的应用程序中? – ios 2011-01-28 06:22:24

+0

@ios您可以使用MPMediaPropertyPredicate和MPMediaQuery类http://*.com/a/10721965/1374512 – 2013-08-16 22:11:21