我正在寻找存储歌曲信息,然后播放特定歌曲的方法。我看过这篇文章:如何使用MPMediaItemPropertyPersistentID在iPhone音乐播放器框架中播放音乐?
如果我已经有了MPMediaItemPropertyPersistentID
,我可以直接播放这首歌而不循环播放每首歌,直到找到匹配的id吗?
您不必通过循环库中的所有项来实现这一点。它可以通过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];