iPhone sdk,保存MPMediaItemCollection吗?

2024-05-02

我的应用程序显示MPMediaPickerController。我想保存MediaItem并在启动时再次开始播放。我认为这可以使用MPMediaQuery。看来我应该使用MPMediaItemPropertyPersistentID但我不知道如何查询它。有什么想法吗?


伙计,你不需要保存 mediaCollection。媒体集合它只是 MPMediaItem 对象的数组。所以你最好保存这个项目的permanentIds。这很容易

//it's how to know persistentId of the song after you got mediaItemCollection from your mediaPickerViewController
//then you can sav it in userDefaults.
- (NSNumber *)getPersistentId :(MPMediaItemCollection *)collection atIndex:(int)index {
 MPMediaItem *mediaItem = [collection.items objectAtIndex:index];
 NSNumber *anId = [mediaItem valueForProperty:MPMediaItemPropertyPersistentID];
 return anId;
}

//when your application will be launched next time you can get required song:
- (void)obtainSongWitId:(NSNumber *)persistentId {
 MPMediaQuery *query = [MPMediaQuery songsQuery];
 MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:persistentId forProperty:MPMediaItemPropertyPersistentID];
 [query addFilterPredicate:predicate];
 NSArray *mediaItems = [query items];
 //this array will consist of song with given persistentId. add it to collection and play it
 MPMediaItemCollection *col = [[MPMediaItemCollection alloc] initWithItems:mediaItems];
 ///....
 [col release];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone sdk,保存MPMediaItemCollection吗? 的相关文章

随机推荐