小编Oto*_*Leo的帖子

如何从iOS上的播放列表中播放歌曲(仅限歌曲)?

我正在尝试播放iPod播放列表中的歌曲.至于播放列表也可能有视频,我想只播放其中的歌曲.

    MPMusicPlayerController *mp = [MPMusicPlayerController applicationMusicPlayer];

    MPMediaQuery *query = [MPMediaQuery songsQuery];

    query.groupingType = MPMediaGroupingPlaylist;

    NSArray *playlists = [query collections];

    BOOL found = NO;

    for(MPMediaPlaylist *playlist in playlists)
    {
        NSString *name = [playlist valueForProperty:MPMediaPlaylistPropertyName];
        if([name caseInsensitiveCompare:@"MyPlaylist"] == NSOrderedSame && [playlist count] > 0)
        {
            MPMediaItemCollection *collection = [MPMediaItemCollection collectionWithItems:playlist.items];
            [mp setQueueWithItemCollection:collection];
            found = YES;
            NSLog(@"items count %d", [playlist count]);
            for (MPMediaItem *item in [collection items]){
                NSLog(@"%@", [item valueForKey:MPMediaItemPropertyMediaType]);
            }
            break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

在我加载1首歌曲和2个视频的播放列表后,输出为:

items count 3
256
256
1

我不明白为什么我也会收到视频,如果查询是为了检索歌曲,而媒体项目的媒体类型是MPMediaTypeMovie(256或1 << …

mpmediaitem mpmediaitemcollection mpmediaquery ios5

3
推荐指数
1
解决办法
5528
查看次数