小编Mex*_*ood的帖子

检索iOS中按上次播放时间排序的歌曲列表

我需要按顺序从iOS设备获取N个最近播放的歌曲列表.

目前,我能想象的唯一方法是将所有歌曲通过MPMediaQuery并手动排序lastPlayedDate.

这是一个可能很昂贵的操作,我想知道是否有更好的方法.


编辑:经过一些测试,这是一个非常昂贵的操作.在2500首歌曲的测试库中,花了大约20秒时间:

  1. 获取所有歌曲.
  2. 为所有从未播放过的歌曲指定日期(1970年1月1日).
  3. 按日期订购.
  4. 获取前N个条目.

任何改进的建议将不胜感激.


编辑2:现在解决了,但只是为了记录这里我正在做的事情.

我正在使用如下所述的块进行排序:https://stackoverflow.com/a/805589/112702.简单地将排序方法改为布莱恩的答案,在iPod Touch 3上将我的速度提高了近20倍.

ipod mpmediaquery ios

7
推荐指数
1
解决办法
2640
查看次数

标签 统计

ios ×1

ipod ×1

mpmediaquery ×1