目标 C:获取 MPMediaItem 'Favorite' 属性

Posted

技术标签:

【中文标题】目标 C:获取 MPMediaItem \'Favorite\' 属性【英文标题】:Objective C: Getting MPMediaItem 'Favorite' property目标 C:获取 MPMediaItem 'Favorite' 属性 【发布时间】:2016-02-16 21:49:50 【问题描述】:

我正在查看 Apple 的文档,但我似乎无法找到一种方法来确定 MPMediaItem 是否是“最喜欢”的曲目。请参阅下面的屏幕截图,带有粉红色的心。

如何获得这个属性?我知道,既然它是一项新功能,它的可用性将仅限于 ios 8.4 或更高版本。

这是我用来通过音乐选择器从 MPMediaItems 获取其他属性的一些代码:

- (void) processMediaItems:(MPMediaItemCollection *)mediaItemCollection

            //iterate through selected songs
            if (mediaItemCollection) 
                NSArray *allSelectedSongs = [mediaItemCollection items];

                for(MPMediaItem *song in allSelectedSongs)
                
                    NSURL *songURL = [song valueForProperty:MPMediaItemPropertyAssetURL];
                    NSNumber *ident = [song valueForProperty:MPMediaEntityPropertyPersistentID];
                    NSString *identString = [BukketHelper convertULLToNSString:ident];
                    NSNumber *isCloud = [song valueForProperty:MPMediaItemPropertyIsCloudItem];
                

 //do other stuff here

有人有想法吗?

【问题讨论】:

【参考方案1】:

您必须使用 Apple Music API 来获取或设置用户对这样一首歌曲的喜欢/不喜欢:

GET https://api.music.apple.com/v1/me/ratings/songs/id

发件人:Apple Docs link

【讨论】:

我建议在您的回答中添加更多信息,例如请求/响应详细信息 Apple Music API 有一大堆关于如何构建请求和分析响应的文档。如果提问者真的决定使用 Apple Music API 来完成这项任务,我很乐意向他们提供更多信息,但我相信这将是另一个话题。在构建请求之前要做的事情太多了。 感谢@AMGuru。我一直在寻找这个!

以上是关于目标 C:获取 MPMediaItem 'Favorite' 属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从 MPMoviePlayerController 获取 MPMediaItem?

批量获取多个 MPMediaItem 的属性

获取 MPMediaItem 的 iTunes URL

如何在 MPMediaPlaylist 中获取 MPMediaItem 顺序?

MPMediaItem 获取确切的文件大小

如何获取 MPMediaItem(歌曲)收听时间(日期)