我有我的应用程序显示MPMediaPickerController
。我想保存MediaItem
并在启动时重新开始播放。我认为这是可行的使用MPMediaQuery
。看来,我应该使用MPMediaItemPropertyPersistentID
,但我不确定如何查询它。有什么想法吗?iPhone sdk,保存MPMediaItemCollection?
6
A
回答
11
人,你不需要保存mediaCollection。媒体集合,它只是MPMediaItem对象的数组。所以你最好保存这些项目的persistentIds。这很容易
//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];
}
6
这应该工作:
MPMediaQuery *query = [MPMediaQuery songsQuery];
MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:myPersistentID forProperty:MPMediaItemPropertyPersistentID];
[query addFilterPredicate:predicate];
NSArray *songs = [query items];
相关问题
- 1. 如何保存MPMediaItemCollection?
- 2. NSKeyedArchiver不正确保存MPMediaItemCollection对象
- 3. 使用NSUserDefaults保存MPMediaItemCollection对象
- 4. 如何将MPMediaItemCollection保存到NSUSerDefaults?
- 5. iPhone SDK:保存大量文本
- 6. iPhone SDK保存状态问题!
- 7. 在内存中保留对象(iPhone SDK)
- 8. 保存和加载数据(iphone sdk)
- 9. iPhone SDK - 加载/保存设置
- 10. NSUserDefault存在-iPHONE SDK
- 11. MPMediaItemCollection Count - NSUInteger
- 12. 保存iphone
- 13. Iphone sdk,内存泄漏
- 14. iPhone 3.0 SDK vs iPhone 2.0 SDK
- 15. 保存照片/图像到应用程序? iPhone SDK
- 16. 如何保存并加载绘制线iphone SDK
- 17. 在iPhone SDK 4.2中保存数据时出错
- 18. 为什么NSUserDefaults无法在iPhone SDK中保存NSMutableDictionary?
- 19. iPhone sdk-保存上次在KALViewController中选择的日期
- 20. 如何在iphone sdk编辑后保存图像?
- 21. 使用文本文件保存数据iPhone SDK?
- 22. 如何将图像保存到沙箱 - iPhone SDK
- 23. 保存覆盖图像的相机照片 - iphone SDK
- 24. UILongPressGesture iphone iphone sdk
- 25. iPhone游戏保存
- 26. iphone图像保存
- 27. iPhone保存图像
- 28. 保存数据iphone
- 29. 应该保留还是不变? iphone-sdk
- 30. Facebook SDK + iPhone SDK + SSO
helll是啊你杀了它! – 2012-10-23 00:09:39
是否需要将单个MPMediaItem包装到MPMediaItemCollection中? – surfrider 2016-02-17 20:03:58