MPMusicPlayerControllerMutableQueue insere uma música do Apple Music não funcionando
Então, eu estou tentando usar as APIs do MusicKit há alguns dias. Eu tenho tentado usar oMPMusicPlayerApplicationController eMutableQueue APIs.
Eu já iniciei a fila usandosetQueue(with: [String])
com uma variedade de identificadores de loja para músicas do Apple Music. Quero permitir que o usuário reorganize as músicas na fila. Eu uso o código a seguir para tentar isso.
let musicPlayerController = MPMusicPlayerController.applicationQueuePlayer
musicPlayerController.perform(queueTransaction: { queue in
let afterItem = queue.items.first(where: { $0.playbackStoreID == predecessorId })
let descriptor = MPMusicPlayerStoreQueueDescriptor(storeIDs: [newItemId])
queue.insert(descriptor, after: afterItem)
}) { (queue, error) in
// Completion for when items' position update
if error != nil {
print(error!)
}
}
O código acima funciona como esperado seafterItem
é nulo (ou seja, a música foi inserida corretamente na frente da fila). No entanto, seafterItem
não é nada, nada acontece. A fila permanece exatamente igual a se nenhuma inserção ocorreu e não há erro fornecido no manipulador de conclusão. Esse problema ocorre independentemente de a música inserida já estar na fila ou não.
Estou tentando modificar a fila incorretamente?