4

在 iPhone SDK 中使用应用内音频时,可以允许用户从他们的 ipod 库中选择一个列表并创建一个应用内本地播放列表。如果我想坚持这个选择,很容易序列化数据并写入文件,然后恢复。

然而,像这样的香草让我认为会有问题。例如,如果用户同步和删除声音怎么办?我可以遍历它们并在设置时查询 iPod DB,但是对于可能有 50,000 长的列表,这可能需要一些时间。

其他人如何做到这一点,还有哪些我没有想到的陷阱?

4

2 回答 2

3

我只是懒惰地做,

如果用户想要播放一首歌曲,您可以查询 iPod DB,特别是该歌曲,如果用户删除了专辑,则可能是整首歌曲“Album”。这将需要在播放每首歌曲之前向数据库发出两次请求,但如果它足够快等,您可以进行基准测试。

您也可以在某处放置一个选项以“ sync”应用程序与iPod DB,但作为用户的选择,给用户一个“警告”它可能需要一段时间,甚至可能给他一个时间估计他的大小特定的图书馆。

我认为从可用性/电池节省的角度来看,这比每次启动应用程序时甚至在后台查询整个数据库要好。

于 2010-04-24T15:34:47.093 回答
2

我最初发布了关于保存单个 MPMediaItems 的回复。经过一番思考和重新阅读文档后MPMediaPickerControllerDelegate,我认为使用的方法是保存 的representiveItem属性MPMediaItemCollection并使用它MPMediaQuery在运行时构造一个。

于 2010-04-28T17:50:39.730 回答