MPMediaQuery *mq = [MPMediaQuery songsQuery];
MPMediaPropertyPredicate *songNamePredicate = [MPMediaPropertyPredicate
predicateWithValue:[songsTitle objectAtIndex:indexPath.row]
forProperty:MPMediaItemPropertyTitle];
[mq addFilterPredicate:songNamePredicate];
[mp setQueueWithQuery:mq];
[mp play];
我真的需要你的帮助。谢谢。
答案 0 :(得分:3)
它不会跳到下一首歌曲,因为播放队列只有一个项目。启动时,将播放队列设置为整个歌曲查询。还使用MPMediaItem
的{{1}}属性创建items
个数组:
MPMediaQuery
在MPMediaQuery *songsQuery = [MPMediaQuery songsQuery];
self.songs = songsQuery.items;
[self.musicPlayer setQueueWithQuery:songsQuery];
中,让音乐播放器使用tableView:didSelectRowAtIndexPath:
' MPMusicPlayerController
方法播放所选项目:
setNowPlayingItem:
以下示例项目演示了这一点: https://dl.dropboxusercontent.com/u/1990969/SongsPlayerTableView.zip