如何从保存的playbackStoreID获取MPMediaItem(即Apple Music播放列表项)

时间:2018-02-16 21:48:07

标签: ios mpmediaitem mpmediaquery

我制作的音乐播放器应用可以访问和播放来自Apple Music和iOS音乐库的音乐和播放列表,我希望能够保存并重新加载用户的歌曲队列跨应用程序启动。如果歌曲本地存储在手机上,那么保存其MPMediaItem.persistentID就足够了,然后使用如下谓词加载项目:

let predicate = MPMediaPropertyPredicate(value: savedLocalID, forProperty: MPMediaItemPropertyPersistentID);
let songQuery = MPMediaQuery.init(filterPredicates: [predicate]);

但是,对于来自Apple音乐保存的播放列表的歌曲,他们的MPMediaItem.persistentID不会在应用启动时保留,并且无法将其加载为MPMediaItems。我希望MPMediaItem.playbackStoreID可以与MPMediaQuery以类似的方式使用,但是当我尝试使用MPMediaItemPropertyPlaybackStoreID创建谓词时,我得到错误" MPMediaPropertyPredicate无法使用playbackStoreID属性进行过滤。"任何想法如何从保存的MPMediaItem.playbackStoreID获取MPMediaItem,或者我错过的另一个属于非本地Apple Music文件的属性?谢谢!

0 个答案:

没有答案