我想在应用程序内的列表中显示来自用户ipod的所有歌曲的列表。当用户单击一首歌曲时,我要存储该歌曲的名称。

稍后,我还想获取该歌曲的名称并进行播放(但不要立即播放)。

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

最佳答案

您可以使用以下命令调用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

关于iphone - iPhone:如何显示应用程序库中的歌曲列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12395866/

10-15 05:31