【发布时间】:2011-12-30 00:55:04
【问题描述】:
我有一个应用程序使用 iPod Library API 来访问 iOS 中的歌曲数据库。随着 iTunes Match 的发布,任何不在设备上的歌曲都将无法加载。有没有办法要求我下载歌曲?也许使用新的 iCloud API?
编辑: 需要明确的是,我不是在问如何使用 iPhone 使用 iTunes Match 下载歌曲。 iOS SDK 允许通过 MPMediaQuery/MPMediaItems 访问 iPod 库。在启用了 iTunes Match 的 iOS 设备上,iTunes Match 库中但不是设备本地的歌曲通过 MPMediaQuery 返回,但是 MPMediaItem 的“可导出”标志设置为 false。当我在音乐应用程序中访问这些歌曲时,它们会自动下载。我想通过 MPMediaItem 触发相同的自动下载。
我看到 iTunes Match 中的项目被视为 iCloud 的一部分,并且 iOS 5 SDK 中有一个新的 iCloud 部分。但是,据我了解,我只能获取我的应用上传的数据。我希望有一种方法可以通过 MPMediaItem 或通过 iCloud 使用 URL 来触发 iTunes Match 下载。
【问题讨论】:
-
这个问题可能更适合 Apple.SE
-
Apple.SE 不是更适合使用设备而不是在设备上编码吗?
-
你能澄清一下你所说的“他们的'可出口'标志”是什么意思吗?我不知道可出口的财产。你指的是 MPMediaItemPropertyAssetURL 吗?
-
是的,这很不清楚......使用 MPMediaItemPropertyAssestURL,获取 AVAsset 然后是 AVAsset 的 .exportable 属性。
-
查询 MPMediaItemPropertyAssetURL 当歌曲不在您的库中时返回 nil NSURL,因此 [AVAsset assetWithURL:url] 返回 nil,而不是 AVAsset。
标签: objective-c ios core-audio ipod icloud