我想知道当用户使用媒体选择器选择歌曲时,他们从哪个播放列表中选择了歌曲。由于某种原因,播放列表似乎不存在。
基本上,当用户转到媒体选择器中的播放列表(我们称之为“健身房歌曲”)并选择一首歌曲时,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]; }
最佳答案
此数据不可用。您唯一的选择是自己用代码完成所有这些工作。建立一个表格 View 并用库中的所有播放列表填充它。当用户选择一个播放列表时,放置另一个包含该播放列表中所有轨道的表格 View ,并允许用户选择一个。
关于iOS - 从 didPickMediaItems 获取播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890300/