初始化MPMusicPlayerMediaItemQueueDescriptor

问题描述 投票:1回答:1

在一个函数中,如何初始化MPMusicPlayerMediaItemQueueDescriptor,作为Music Kit前置方法部分的第一步?我认为我需要我的媒体查询才能成为队列描述符,并且认为我需要对其进行初始化,但不确定如何!

[该类的苹果文档(https://developer.apple.com/documentation/mediaplayer/mpmusicplayermediaitemqueuedescriptor)建议我的函数应像这样:

    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)
                }
            }
mpmusicplayercontroller apple-musickit
1个回答
0
投票

答案:

            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)
© www.soinside.com 2019 - 2024. All rights reserved.