【问题标题】:Apple Music API - Create a PlaylistApple Music API - 创建播放列表
【发布时间】:2017-02-27 15:31:12
【问题描述】:

我一直在探索 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/

开发者能否使用 Apple Music API 在用户设备上创建全新的播放列表?

是的。该 API 允许开发人员在用户设备上创建新的播放列表。

【问题讨论】:

    标签: objective-c mpmediaquery itunes-sdk apple-music mpmedialibrary


    【解决方案1】:

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

    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 的文档在示例代码和实际示例方面严重缺乏!

    【讨论】:

    • 嗨,我知道已经快 2 年了,但仍然没有 Objective-c(一个 Swift 的,但我太老了,无法学习一门新语言 :) 访问 Apple Music 的示例应用程序。如果你能以某种方式与我分享你的英雄,你将成为我的英雄。
    • 如果这不可能,你能在这里帮忙吗? stackoverflow.com/questions/53853478/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多