我想知道用户何时使用媒体选择器选择歌曲,他们从哪个播放列表中选择歌曲。由于某种原因,播放列表似乎不存在。
基本上,当用户进入媒体选择器中的播放列表时,我们将其称为“健身房歌曲”并选择一首歌曲,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]; }