iOS - MPMediaPickerController 不适用于视频

Posted

技术标签:

【中文标题】iOS - MPMediaPickerController 不适用于视频【英文标题】:iOS - MPMediaPickerController doesn't work with videos 【发布时间】:2013-08-02 22:09:10 【问题描述】:

我最近发现this 关于MPMediaPickerController 无法识别视频的问题,这正是我想要做的:让用户从他们的 iPod/视频库中选择视频。 (不是用户拍摄的视频,我指的是 iTunes 电视节目等)。该链接似乎确认这是一个已知问题,但接受的答案实际上并未提供解决方案。

我使用John Goodstadt's answer 中提供的代码来确认我在设备上拥有视频,但是当MPMediaPickerController 应该自动生成时,我不想为“视频选择器”生成自己的 UI ,使用 Apple 提供的Media Item Type Flags

// audio media types
MPMediaTypeMusic        = 1 << 0,
MPMediaTypePodcast      = 1 << 1,
MPMediaTypeAudioBook    = 1 << 2,
MPMediaTypeAudioITunesU = 1 << 3,  // available in ios 5.0
MPMediaTypeAnyAudio     = 0x00ff,

// video media types
MPMediaTypeMovie        = 1 << 8,
MPMediaTypeTVShow       = 1 << 9,
MPMediaTypeVideoPodcast = 1 << 10,
MPMediaTypeMusicVideo   = 1 << 11,
MPMediaTypeVideoITunesU = 1 << 12,
MPMediaTypeAnyVideo     = 0xff00,

// generic media type
MPMediaTypeAny          = ~0

事情是,每当我尝试这样做时:

MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAny];

(有效)然后我将MPMediaTypeAny 更改为MPMediaTypeAnyVideo,我得到:

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

我错过了什么吗?是否有一些快速简便的解决方案,或者我真的必须从头开始创建自己的 VideoPicker?如果是这样的话,谁能满足我的好奇心并解释为什么MPMediaPickerController 似乎不再喜欢视频了?

【问题讨论】:

发生了什么:initWithMediaTypes:MPMediaTypeMovie | MPMediaTypeTVShow | ... 使用不同代码的相同错误:Unsupported media types (256) 用于电影,Unsupported media types (512) 用于电视节目等 【参考方案1】:

根据对this question 的回复,您可能在使用 MPMediaPickerController 方面不走运。您可能会考虑自己滚动,最有可能访问media library directly。如果你这样做了,一定要在 Github 上发布你的代码! :)

如果您有任何其他问题,请告诉我。

【讨论】:

对该问题的公认答案说不,但这是从 2010 年开始的,而 2012 年的答案听起来像是可能的。我希望第二个答案是最新的,但是,是的,我可能只需要吸收它并重新发明***。谢谢! 嗯,我刚刚看了那个代码。 “正确”的答案只是使用常规的媒体查询;我认为这并不意味着 Apple 已向 MPMediaPickerController 添加了对视频浏览的支持。如果您发现其他情况,请务必告诉我。

以上是关于iOS - MPMediaPickerController 不适用于视频的主要内容,如果未能解决你的问题,请参考以下文章

IO复用阻塞IO非阻塞IO同步IO异步IO

四种IO模型‘阻塞IO/非阻塞IO/信号驱动IO/异步IO‘

5种IO模型阻塞IO和非阻塞IO同步IO和异步IO

网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO

同步IO异步IO阻塞IO非阻塞IO之间的联系与区别

同步IO异步IO阻塞IO非阻塞IO之间的联系与区别