gpt4 book ai didi

objective-c - Apple Music API - 创建播放列表

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:59 25 4
gpt4 key购买 nike

我一直在探索 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% 确定):

  • 播放列表(基本信息:名称、id)存储在设备本地
  • 播放列表中的歌曲也是从本地存储中提取的但是如果播放列表还没有下载到设备上,它就会转到 Apple 获取歌曲列表。

到目前为止,还不错。我想知道的是:

  • 是否可以通过我的应用(通过 API)创建播放列表?

我知道有一个 MPMediaPlaylist addItemadd 方法,但似乎无法找到创建新播放列表本身的方法。

根据这个页面应该是可能的:https://affiliate.itunes.apple.com/resources/blog/apple-music-api-faq/

Can a developer create brand new playlists on the user’s device with the Apple Music API?

Yes. The API allows develops to new create playlists on the user’s device.

最佳答案

我已经弄明白了。如果您使用以下代码,您可以生成一个新的播放列表并对其执行操作。

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的文档严重缺乏样例代码和实际例子!

关于objective-c - Apple Music API - 创建播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42489590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com