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