MPMediaPickerController with video media types not working

时光怂恿深爱的人放手 提交于 2019-12-18 13:31:47

问题


I am trying to browse video stored in my iPod library using the new video media types. With any video type I get this error on the console:

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

After this error, the picker only shows audio types.

For reference, these are the new media types available in iOS5.0 (defined in 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,

回答1:


Can you query the Movie library in code successfully e.g.:

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];

}

You should see all movie titles. This is OK for me on IOS5 and iPad 2. I still have your problem though. A workaround is putting the above code results in its own modal view.




回答2:


SWIFT 3 form @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)")
    }

then you can change type as you need.



来源:https://stackoverflow.com/questions/9474287/mpmediapickercontroller-with-video-media-types-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!