1

我正在寻找存储歌曲信息然后播放特定歌曲的方法。我看过这篇文章: 如何使用 MPMediaItemPropertyPersistentID 在 iPhone 音乐播放器框架中播放音乐?

如果我已经MPMediaItemPropertyPersistentID有了,我可以直接播放那首歌而不循环每首歌曲直到找到匹配的 id 吗?

4

1 回答 1

1

您不必通过遍历库中的所有项目来执行此操作。它可以通过 MPMediaQuery 完成,如下所示:

NSNumber *persistentIDNumber = [NSNumber numberWithInteger:4238475234];

MPMusicPlayerController *player = [MPMusicPlayerController applicationMusicPlayer];

MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:persistentIDNumber forProperty:MPMediaEntityPropertyPersistentID];

MPMediaQuery *query = [[MPMediaQuery alloc] init];

[query addFilterPredicate: predicate];

[player setQueueWithQuery:query];
[player prepareToPlay];
[player play];
于 2013-08-23T22:33:13.940 回答