开发者

When populating a MPMusicPlayerController with an MPMediaPlaylist, how to advance to next item, and begin playback there?

开发者 https://www.devze.com 2023-03-08 13:57 出处:网络
Here\'s what I\'m doing: self.iPodController = [MPMusicPlayerController applicationMusicPlayer]; MPMediaPlaylist* playlist = [self lookupSavedPlaylist];

Here's what I'm doing:

self.iPodController = [MPMusicPlayerController applicationMusicPlayer];
MPMediaPlaylist* playlist = [self lookupSavedPlaylist];
[self.iPodController setQueueWithItemCollection:playlist];

[self.iPodController skipToNextItem];
[self.iPodController play];

This results in the first song playing, 开发者_如何学Pythonnot the second. This kind of makes sense, but it's annoying and I'm hoping there's a work-around.


Well, it turns out that if you explicitly set the nowPlayingItem, you won't have this issue. Here's the modified code:

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
0

精彩评论

暂无评论...
验证码 换一张
取 消