1

Когда я пытаюсь изменить очередь MPMusicPlayerController и установить nowPlayingItem, игрок всегда переходит к первому элементу в очереди. В документации говорится, что если я хочу установить текущую позицию в очереди, я должен установить nowPlayingItem в MPMediaItem в очереди. Я делаю что-то неправильно?MPMusicPlayerController setQueue и noPlayingItem по умолчанию для индекса 0

MPMusicPlayerController *player = [MPMusicPlayerController systemMusicPlayer]; 
    [player setRepeatMode:MPMusicRepeatModeNone]; 
    [player setShuffleMode:MPMusicShuffleModeOff]; 
    [player pause]; 
    MPMediaItemCollection *collection = [MPMediaItemCollection collectionWithItems:[[HMFAudioManager sharedManager] playlist]]; 
    [player setQueueWithItemCollection:collection]; 
    MPMediaItem *selectedItem = collection.items[indexPath.row]; 
    NSLog(@"selected item       - %@",selectedItem.title); 
    NSLog(@"manager's current now playing item  - %@",[[HMFAudioManager sharedManager] nowPlayingItem].title); 
    [[HMFAudioManager sharedManager] setNowPlayingItem:collection.items[indexPath.row]]; 
    NSLog(@"manager's new now playing item   - %@",[[HMFAudioManager sharedManager] nowPlayingItem].title); 
    player.nowPlayingItem = collection.items[indexPath.row]; 
    player.currentPlaybackTime = [collection.items[indexPath.row] bookmarkTime]; 
    [player play]; 
    NSLog(@"player's now playing     - %@",player.nowPlayingItem.title); 
    NSLog(@"manager's new now playing item   - %@",selectedItem.title); 
    [self dismissViewControllerAnimated:YES completion:nil]; 

Log -

2015-08-07 16:51:42.003 Undulib[1986:487940] selected item       - Star Wars: The Empire Strikes Back 
2015-08-07 16:51:42.004 Undulib[1986:487940] manager's current now playing item  - Star Wars: A New Hope 
2015-08-07 16:51:42.005 Undulib[1986:487940] manager's new now playing item   - Star Wars: The Empire Strikes Back 
2015-08-07 16:51:42.238 Undulib[1986:487940] player's now playing     - Star Wars: A New Hope 
2015-08-07 16:51:42.238 Undulib[1986:487940] manager's new now playing item   - Star Wars: The Empire Strikes Back 

ответ

1

Остановка игрока вместо паузы решить эту проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^