我一直在探索Apple Music API,以了解我可以在iOS应用中使用哪种功能。我创建了一个小测试应用程序,它获得了用户的许可,并将我拥有的播放列表(和歌曲)输出到NSLog
。
MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];
[myPlaylistsQuery setGroupingType:MPMediaGroupingPlaylist];
NSArray *playlists = [myPlaylistsQuery collections];
for (MPMediaPlaylist *playlist in playlists) {
NSLog (@"%@", [playlist valueForProperty: MPMediaPlaylistPropertyName]);
NSArray *songs = [playlist items];
for (MPMediaItem *song in songs) {
NSString *songTitle =
[song valueForProperty: MPMediaItemPropertyTitle];
NSLog (@"\t\t%@", songTitle);
}
}
由此,我能够推断出以下内容(但我并非100%确定):
到目前为止,这么好。我想知道的是:
我知道有MPMediaPlaylist
addItem
和add
方法,但似乎无法找到创建新播放列表的方法。
根据此页面,应该可以:https://affiliate.itunes.apple.com/resources/blog/apple-music-api-faq/
开发人员可以使用Apple Music API在用户的设备上创建全新的播放列表吗?
是。 API允许在用户设备上开发新的创建播放列表。
答案 0 :(得分:4)
我已经想到了这一点。如果使用以下代码,则可以生成新的播放列表并对其执行操作。
NSUUID *uuid = [NSUUID UUID]; //uuid for the playlist
[[MPMediaLibrary defaultMediaLibrary] getPlaylistWithUUID:uuid creationMetadata:[[MPMediaPlaylistCreationMetadata alloc] initWithName:@"YOUR PLAYLIST NAME"] completionHandler:^(MPMediaPlaylist * _Nullable playlist, NSError * _Nullable error) {
NSLog(@"%@", error);
if (!error) {
NSLog(@"All ok let's do some stuff with the playlist!");
}
}];
Apple的整个API文档严重缺乏示例代码和实际示例!