我的应用中有一个媒体播放,我允许用户从他们的设备中选择一个播放列表。
播放列表选择工作正常,我将播放列表名称存储在数据库中。现在我无法弄清楚如何只播放所选播放列表中的歌曲。
我的代码是:
let myMediaQuery = MPMediaQuery.songsQuery()
let predicateFilter = MPMediaPropertyPredicate(value: "Rock", forProperty: MPMediaItemPropertyGenre)
myMediaQuery.filterPredicates = NSSet(object: predicateFilter) as? Set<MPMediaPredicate>
self.myMusicPlayer.setQueueWithQuery(myMediaQuery)
我认为只是将过滤器谓词更改为MPMediaItemPropertyPlaylist可以工作,但没有这样的过滤器类型。
如何使用播放列表名称应用过滤器播放播放列表?
由于
答案 0 :(得分:1)
如果有其他人在寻找答案,那就找到答案。
let myMediaQuery = MPMediaQuery.songsQuery()
let predicateFilter = MPMediaPropertyPredicate(value: "\(playlist)", forProperty: MPMediaPlaylistPropertyName)
myMediaQuery.filterPredicates = NSSet(object: predicateFilter) as? Set<MPMediaPredicate>
myMusicPlayer.setQueueWithQuery(myMediaQuery)