swift - 尝试播放播放列表中的歌曲

标签 swift

我的应用程序中有一个媒体播放器,我允许用户从他们的设备中选择一个播放列表。

播放列表选择工作正常,我将播放列表名称存储在数据库中。现在我不知道如何只播放所选播放列表中的歌曲。

我的代码是:

let myMediaQuery = MPMediaQuery.songsQuery()
let predicateFilter = MPMediaPropertyPredicate(value: "Rock", forProperty: MPMediaItemPropertyGenre)
myMediaQuery.filterPredicates = NSSet(object: predicateFilter) as? Set<MPMediaPredicate>
self.myMusicPlayer.setQueueWithQuery(myMediaQuery)

我认为只需将过滤器谓词更改为 MPMediaItemPropertyPlaylist 之类的东西就可以了,但没有这样的过滤器类型。

如何使用播放列表名称应用过滤器来播放播放列表?

谢谢

最佳答案

找到答案,如果其他人正在寻找。

let myMediaQuery = MPMediaQuery.songsQuery()
let predicateFilter = MPMediaPropertyPredicate(value: "\(playlist)", forProperty: MPMediaPlaylistPropertyName)
myMediaQuery.filterPredicates = NSSet(object: predicateFilter) as? Set<MPMediaPredicate>
myMusicPlayer.setQueueWithQuery(myMediaQuery)

关于swift - 尝试播放播放列表中的歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37245390/

相关文章:

Swift Mirror API - 对象符合哪些协议(protocol)

swift - 这种类型错误的原因是什么?

SwiftUI macOS 列表行删除填充

swift - 第一个 TableView 部分标题不会滚动 Swift 4

ios - 无法调用非函数类型的值

ios - 单击按钮时,我想将应用程序从前台带到后台?这可能吗?如何?

swift - UIButtons 在所有设备上的形状都不正确

ios - 当前位置在 swift 3 中没有完美显示

ios - 使用 ScrollView 使导航透明时遇到问题

ios - 如何通过 AVAudioPlayer 当前时间更新播放器 slider 句柄当前值