MPMediaPickerController与video媒体types不起作用

我试图使用新的video媒体types浏览存储在我的i​​Pod库中的video。 有了任何videotypes,我在控制台上得到这个错误:

Warning: Unsupported media types (1024), using MPMediaTypeAny. 

在这个错误之后,select器只显示audiotypes。

作为参考,这些是在iOS5.0中可用的新媒体types(在MediaPlayer.framework / MediaItem.h中定义):

 // video (available in iOS 5.0) MPMediaTypeMovie = 1 << 8, MPMediaTypeTVShow = 1 << 9, MPMediaTypeVideoPodcast = 1 << 10, MPMediaTypeMusicVideo = 1 << 11, MPMediaTypeVideoITunesU = 1 << 12, MPMediaTypeAnyVideo = 0xff00, 

你可以在代码中成功查询电影库,例如:

 MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithInteger:MPMediaTypeMovie] forProperty:MPMediaItemPropertyMediaType]; MPMediaQuery *query = [[MPMediaQuery alloc] init]; [query addFilterPredicate:predicate]; NSArray *items = [query items]; for (MPMediaItem* item in items) { NSString* title = [item valueForProperty:MPMediaItemPropertyTitle]; url = [item valueForProperty:MPMediaItemPropertyAssetURL]; } 

你应该看到所有的电影名称。 这在IOS5和iPad2上是可以的。我仍然有你的问题。 解决方法是将上面的代码结果放在自己的模态视图中。

SWIFT 3forms@John Goodstadt

 import MediaPlayer let predicate = MPMediaPropertyPredicate(value: MPMediaType.any.rawValue, forProperty: MPMediaItemPropertyMediaType) let query = MPMediaQuery() query.addFilterPredicate(predicate) let items = query.items for item in items! { DLog("title: \(item.title); url: \(item.assetURL)") } 

那么你可以根据需要改变types。