3

我想知道用户何时使用媒体选择器选择歌曲,他们从哪个播放列表中选择歌曲。由于某种原因,播放列表似乎不存在。

基本上,当用户进入媒体选择器中的播放列表时,我们将其称为“健身房歌曲”并选择一首歌曲,mediaPicker:didPickMediaItems: 函数会返回歌曲详细信息,但不会说明用户从哪个播放列表中选择了歌曲。

所以我想做的是播放那首歌并继续播放该播放列表中的其他歌曲。但是没有播放列表信息,它会开始播放该歌曲并继续播放“所有歌曲”列表中的其余歌曲。

这是我的代码:

(void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection

{

    MPMediaItem *selectedSong = [[mediaItemCollection items] objectAtIndex:0];

    MPMediaQuery *songQuery = [MPMediaQuery songsQuery];
    [musicPlayer setQueueWithQuery:songQuery];
    for (MPMediaItem *oneSong in [songQuery items]) {

        if ([selectedSong isEqual:oneSong]) {
            musicPlayer.nowPlayingItem = oneSong;
            [musicPlayer play];

            // Exit the loop
            break;
        }
    }
    [self dismissModalViewControllerAnimated: YES]; }
4

1 回答 1

3

该数据不可用。您唯一的选择是自己在代码中完成所有这些工作。建立一个 tableview 并用库中的所有播放列表填充它。当用户选择一个播放列表时,放置另一个包含该播放列表中所有曲目的 tableview 并允许用户选择一个。

于 2012-08-11T11:58:54.030 回答