Как узнать название следующего элемента, который будет воспроизводиться в коллекции MPMediaItem
? Я бы предпочел сохранить это как MPMediaItem
.Следующая песня в MediaItemCollection?
У меня есть 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
/queue, чтобы быть в этом UILabel
- так что это предварительный просмотр того, что следующая песня.
Любая помощь будет очень признательна, спасибо! :)
Если вы держите след 'MPMediaItemCollection' вы можете использовать' [MusicPlayer indexOfNowPlayingItem] ', чтобы знать, какие один из них следующий. – Larme
Как это использовать? Я пробовал несколько вещей, и я не уверен, что правильно их использую: S – user3127576
Сохранить '[songsQuery items]', это 'NSArray'. Следующая музыка должна быть: 'MPMediaItem * nextItem = [musicPlayer indexOfNowPlayingItem] +1;'. Ну, я не пытался, и вам, возможно, придется проверить, существует ли этот индекс (я имею в виду, если ваш nowPlayingItem уже является последним и т. Д., Чтобы избежать ошибки, связанной с ошибкой) – Larme