Как узнать название следующего элемента в коллекции MPMediaItem
? Я бы предпочел сохранить это как MPMediaItem
.
У меня есть songsViewController
, в котором есть tableView
всех песен. Это мой код для didSelectRowAtIndexPath
:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MPMediaItem *selectedItem;
selectedItem = [[songs objectAtIndex:indexPath.row] representativeItem];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
[musicPlayer setQueueWithItemCollection:[MPMediaItemCollection collectionWithItems:[songsQuery items]]];
[musicPlayer setNowPlayingItem:selectedItem];
nowPlayingViewController *nowPlaying = [[rightSideMenuViewController alloc]
initWithNibName:@"nowPlayingViewController" bundle:nil];
[self presentViewController:nowPlaying animated:YES completion:nil];
[musicPlayer play];
}
У меня есть UILabel
на моем nowPlayingViewController
, который появляется, когда пользователь выбирает песню. Я хотел бы сохранить название следующего элемента в MediaItemCollection
/очереди, чтобы он был в этом UILabel
- так что это предварительный просмотр того, что будет следующей песней.
Любая помощь будет высоко оценена, спасибо! :)
MPMediaItemCollection
, вы сможете использовать[musicPlayer indexOfNowPlayingItem]
, чтобы узнать, какой из них следующий. - person Larme   schedule 19.05.2014[songsQuery items]
, этоNSArray
. Следующая музыка должна быть:MPMediaItem *nextItem = [musicPlayer indexOfNowPlayingItem]+1;
. Ну, я не пробовал, и вам, возможно, придется проверить, существует ли этот индекс (я имею в виду, если ваш nowPlayingItem уже является последним и т. д., чтобы избежать ошибки выхода за пределы) - person Larme   schedule 19.05.2014MPMediaItem *nextItem = [musicPlayer indexOfNowPlayingItem]+1;
- person WunDaii   schedule 19.05.2014nextItem = [[songsQuery items] objectAtIndex:[musicPlayer indexOfNowPlayingItem]+1];
- person Larme   schedule 19.05.2014