当用MPMediaPlaylist填充MPMusicPlayerController时,如何前进到下一个项目并在那里开始播放?

问题描述

| 这是我正在做的事情:
self.iPodController = [MPMusicPlayerController applicationMusicPlayer];
MPMediaPlaylist* playlist = [self lookupSavedplaylist];
[self.iPodController setQueueWithItemCollection:playlist];

[self.iPodController skipToNextItem];
[self.iPodController play];
这将导致播放第一首歌曲,而不播放第二首歌曲。这种方式很有意义,但是很烦人,我希望有一个解决方法。     

解决方法

好吧,事实证明,如果您显式设置
nowPlayingItem
,就不会出现此问题。这是修改后的代码:
self.iPodController = [MPMusicPlayerController applicationMusicPlayer];
MPMediaPlaylist* playlist = [self lookupSavedPlaylist];
[self.iPodController setQueueWithItemCollection:playlist];
self.iPodController.nowPlayingItem = [playlist.items objectAtIndex:0]; // explicitly set to track 1 to start

[self.iPodController skipToNextItem]; // will now skip to track 2!
[self.iPodController play]; // will now play track 2