1

Within a function how do you initialise an MPMusicPlayerMediaItemQueueDescriptor, as the first step in the prepend method part of Music Kit? I think I need my media query to become a queue descriptor, and believe I need to initialise it, but not sure how to!

Apple documentation for the class (https://developer.apple.com/documentation/mediaplayer/mpmusicplayermediaitemqueuedescriptor) suggests my function should go something like this:

    func playPlaylistNext(chosenPlaylist: String?) {
                var QueueDescriptor: MPMusicPlayerMediaItemQueueDescriptor
                let myMediaQuery = MPMediaQuery.songs()
                let predicateFilter = MPMediaPropertyPredicate(value: chosenPlaylist, forProperty: MPMediaPlaylistPropertyName)
                myMediaQuery.filterPredicates = NSSet(object: predicateFilter) as? Set<MPMediaPredicate>
                init(query: myMediaQuery) {
                        // What needs to go in here
                }
                    musicPlayerController.prepend(QueueDescriptor)
                }
            }
Jack Vanderpump
  • 216
  • 2
  • 16

1 Answers1

0

Answer:

            let myMediaQuery = MPMediaQuery.songs()
            let predicateFilter = MPMediaPropertyPredicate(value: chosenPlaylist, forProperty: MPMediaPlaylistPropertyName)
            myMediaQuery.filterPredicates = NSSet(object: predicateFilter) as? Set<MPMediaPredicate>
            let qd: MPMusicPlayerMediaItemQueueDescriptor = .init(query: myMediaQuery)
            musicPlayerController.prepend(qd)
Jack Vanderpump
  • 216
  • 2
  • 16