iTunes Match + AVplayer + MPMediaQuery 不工作

标签 itunes match avplayer mpmediaitem mpmediaitemcollection

我正在开发一个使用 AVPlayer、MPMediaItem 和 MPMediaQuery 的应用程序。只要 Itunes 匹配,它就可以工作。我们从 MPMediaQuery 开始,然后执行一些过滤,留下一些 MPMediaItems,然后我们一直在使用 AVPlayer,因为: 1.- 我们还在歌曲播放期间播放噪音 2.- 我们需要订阅播放/停止来自 ipod 的事件。

所有这些功能目前都可以使用,除非 ipod 库启用了 itunes 匹配。即使AVPlayer状态正在播放,也没有声音。很明显,它没有触发从 iCloud 下载歌曲。

目前我掌握的关于 iTunes Match 的所有信息都是这篇文章: MPMediaItem and iTunes Match

声明您可以使用 MPMusicPlayerController 播放调用触发下载。由于上面给出的原因,我们不能利用这个类来控制我们自己的播放器。

关于如何解决这个问题,我有两个想法: A. 找到一种方法来检查歌曲是否已经下载并在库中可用,以便使用 AVPlayer 播放。如果歌曲不可用,请让用户知道我们不支持不可用的歌曲。 B. 想办法在歌曲成为下一个要播放的项目之前触发歌曲的下载。

我仍然找不到如何实现这些解决方案中的任何一个,也没有找到任何相关文档,所以我提交了带有警告消息的应用程序,以防止用户在使用 iTunes 匹配时使用此应用程序。

最佳答案

在 iOS 6 及更高版本上,您可以使用 [[item valueForProperty:MPMediaItemPropertyIsCloudItem] boolValue] 检查项目是否已下载。

关于iTunes Match + AVplayer + MPMediaQuery 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575170/

相关文章:

excel - 基于两个条件(包括范围字段之间)的查找

iphone - 使用 AVPlayer 播放视频

ios - AVAudioRecorder 录制流式音频

ios - 获取 slider 的当前时间并播放歌曲

ios - 如何从我的应用程序启动 iTunes Store 应用程序?

cordova - 从网络链接启动iTunes时,Phonegap Media Object停止播放

Javascript 正则表达式循环所有匹配项

mysql - 根据数据库中的关键字搜索 XML feed 的描述

ios - 从 iTunes Connect 中删除构建

ios - 如何一次从 iTunes 购买所有从 iTunes 搜索 API 返回的歌曲?