Iphone:如何在应用程序内显示库中的歌曲列表

时间:2012-09-12 20:37:39

标签: iphone objective-c ios xcode ios4

我想在应用程序内的列表中显示用户ipod中所有歌曲的列表。当用户点击一首歌时我想存储这首歌的名字。

我后来想要抓住那首歌的名字然后播放它(但不是马上)。

任何想法从哪里开始?我知道它可能在Media.Player框架中的某个地方,但我似乎无法弄清楚如何从应用程序内部实际查看歌曲列表

1 个答案:

答案 0 :(得分:2)

您可以使用以下方法调用MPMediaPickerController:

- (IBAction) selectSong: (id) sender 
{   
    MPMediaPickerController *picker =
    [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];

    picker.delegate                     = self;
    picker.allowsPickingMultipleItems   = NO;
    picker.prompt                       = NSLocalizedString (@"Select any song from the list", @"Prompt to user to choose some songs to play");

    [self presentModalViewController: picker animated: YES];
}

然后你可以使用类似的东西将选中的歌曲添加到你自己的阵列中。

注意:您将使用valueForProperty从每个曲目访问元数据信息。

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection 
{
    [self dismissModalViewControllerAnimated: YES];
    someMutableArray = [mediaItemCollection mutableCopy];
}

然后这是一种自我解释但必要的:

- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker 
{   
    [self dismissModalViewControllerAnimated: YES]; 
}

有关详细信息,请访问Apple's iPod Library Access Programming Guide