ios - 如何在没有订阅的情况下从 Apple Music 中获取歌曲?
问题描述
我是 Apple Music API 和 MediaPlayer 框架的新手……我只是想从 Apple Music API 的搜索查询中获取歌曲,但重要的是,用户无需订阅 Apple Music。
我见过无数的应用程序能够搜索 Apple Music 歌曲,而无需征求用户同意他们的 Apple Music 或类似的东西。
这是我当前的代码:
let predicate = MPMediaPropertyPredicate(value: "1459938538", forProperty: MPMediaItemPropertyAlbumPersistentID)
let iCloudPredicate = MPMediaPropertyPredicate(value: true, forProperty: MPMediaItemPropertyIsCloudItem)
let query = MPMediaQuery.albums()
query.filterPredicates = [predicate, iCloudPredicate]
let mp = MPMusicPlayerController.applicationMusicPlayer
mp.setQueue(with: query)
mp.play()
出于测试目的,我将其简单地放在 viewController 的 ViewDidload 中。此代码中的链接适用于网络 Apple Music 麦当娜专辑,例如..(来自这个问题)
我还就此咨询了 Apple 的 WWDC 2017 会议,但无济于事......(https://developer.apple.com/videos/play/wwdc2017/502/)
那么我该怎么做呢?问题中的答案谈到使用网络搜索 Apple Music,但没有提供任何解释或进一步链接......
对此的任何帮助将不胜感激!谢谢!
解决方案
我不知道本机 API,但是:Apple 提供了用于搜索的匿名访问 Web API,这可以追溯到 iTunes Store:https ://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual /iTuneSearchAPI/index.html
可以使用该 API 找到通过 Apple Music 提供的歌曲。
推荐阅读
- php - Laravel,安装程序不起作用
- laravel - Laravel:捕获路径不是以api开头的所有路由
- php - 将值添加到分块数组值并输出到表
- c# - 使用迁移 Entity Framework Core 添加数据而不指定 id
- apache-spark - spark-submit 中的 num-executors、executor-cores、executor-memory 与 spark.read 中的 option(“numPartitions”,x) 有什么区别?
- javascript - 如何在javascript中基于动态复选框创建动态文本框
- android - 任务 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' 执行失败。[react-native wix 导航][v2]
- azure - ADF V2 - 基于表列参数化数据复制管道
- android - 权限拒绝:startForeground 需要 android.permission.FOREGROUND_SERVICE
- windows - 使用 UIElement 创建 Cordova UWP 插件