Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否可以获取MPMediaItem的视频相关元信息?_Ios_Video_Properties_Metadata_Mpmediaitem - Fatal编程技术网

Ios 是否可以获取MPMediaItem的视频相关元信息?

Ios 是否可以获取MPMediaItem的视频相关元信息?,ios,video,properties,metadata,mpmediaitem,Ios,Video,Properties,Metadata,Mpmediaitem,我正在使用MPMediaItems进行一些工作,特别是我正在尝试获取用户设备上的视频列表。现在,来自iTunes的视频将被锁定,因此无法从第三方应用程序播放,但用户添加的视频(如家庭电影)可以播放,甚至来自iTunes的视频也可以查询和显示其元信息 但这里是我被绊倒的地方:我似乎找不到这些文件的任何视频特定元信息 类引用有一个很长的属性列表,您可以访问这些属性,但它们大多是特定于音频的。类似于MPMediaItemPropertyAlbumTitle或MPMediaItemPropertyCom

我正在使用MPMediaItems进行一些工作,特别是我正在尝试获取用户设备上的视频列表。现在,来自iTunes的视频将被锁定,因此无法从第三方应用程序播放,但用户添加的视频(如家庭电影)可以播放,甚至来自iTunes的视频也可以查询和显示其元信息

但这里是我被绊倒的地方:我似乎找不到这些文件的任何视频特定元信息

类引用有一个很长的属性列表,您可以访问这些属性,但它们大多是特定于音频的。类似于
MPMediaItemPropertyAlbumTitle
MPMediaItemPropertyComposer
。甚至还有一个专门针对播客属性的部分,但我似乎找不到像“季号”、“集号”或“节目标题”这样的内容。这些信息显然由iTunes存储,并由内部视频应用程序显示,但我自己找不到任何方法来获取

以下是我在类引用中可以找到的唯一字段:

NSString*const MPMediaItemPropertyTypersistentId;//可过滤
NSString*常量MPMediaItemPropertyAllBumpersistentId;//可过滤
NSString*常量MPMediaItemPropertyArtistPersistentID;//可过滤
NSString*常量MPMediaItemPropertyAlbumArtistPersistentID;//可过滤
NSString*常量MPMediaItemPropertyGenrePersistentID;//可过滤
NSString*常量MPMediaItemPropertyComposePersistentId;//可过滤
NSString*常量MPMediaItemPropertyPodcastPersistentID;//可过滤
NSString*常量MPMediaItemPropertyMediaType;//可过滤
NSString*常量MPMediaItemPropertyTitle;//可过滤
NSString*常量MPMediaItemPropertyAlbumTitle;//可过滤
NSString*常量MPMediaItemPropertyAttribute;//可过滤
NSString*常量MPMediaItemPropertyAlbumArtist;//可过滤
NSString*常量MPMediaItemPropertyGenre;//可过滤
NSString*常量MPMediaItemPropertyComposer;//可过滤
NSString*常量MPMediaItemPropertyPlaybackDuration;
NSString*常量MPMediaItemPropertyAllBumTrackNumber;
NSString*常量MPMediaItemPropertyAllBumTrackCount;
NSString*常量MPMediaItemPropertyDiscNumber;
NSString*常量MPMediaItemPropertyDiscCount;
NSString*常量MPMediaItemPropertyNetwork;
NSString*常量MPMediaItemPropertyRycs;
NSString*const MPMediaItemPropertyIsCompilation;//可过滤
NSString*常量MPMediaItemPropertyReleaseDate;
NSString*常量MPMediaItemPropertyBeatPerminute;
NSString*常量MPMediaItemPropertyComments;
NSString*常量MPMediaItemPropertyAsetUrl;
NSString*常量MPMediaItemPropertyIsCloudItem;//可过滤的

我很有信心,这些信息不能通过MPMediaItemProperties值获得,但是可以通过任何其他方式访问吗?是否有一种循环的方法来访问这些信息,类似于我不完全理解但似乎很有希望的方法,或者开发人员完全不可能看到视频来自哪个节目/季节

编辑:这一点最近变得尤为重要,因为最新版本的iTunes在编辑视频文件时甚至不再显示音频特定字段(如“唱片集”或“艺术家”)。在iTunes中查看视频文件的“获取信息”现在只显示特定于视频的字段,这意味着此更新后输入的视频在第三方应用程序中似乎完全无法排序

…除非有人有主意

编辑2:在我的研究中,我遇到了我从未听说过的
AVMetadataItem
类,特别是
AVMetadataiTunesMetadataKey
选项()。它们似乎不包括节目、季节或插曲信息,但它们确实有一些特定于视频的字段,如
AVMetadataiTunesMetadataKeyDirector
。这个类或者其他与视频相关的类,是否还有其他用途,可以循环访问我要查找的信息


edit3:当我找到时,我满怀希望,其中包括一个
ITLIBMediateItemVideoInfo
类,这正是我想要的。然而,它似乎只是Mac,我需要在iOS上使用它。。。有没有可能有人有办法在iOS上访问此信息

这可能有助于您准确了解您在寻找什么:

以下是您可能感兴趣的与AVMetadataKeySpaceiTunes相关的部分的重点内容:

...
@"Description",         @"desc",
@"Long Description",    @"ldes",
@"Media Kind",          @"stik",
@"TV Show",             @"tvsh",
@"TV Episode #",        @"tves",
@"TV Network",          @"tvnn",
@"TV Episode ID",       @"tven",
@"TV Season",           @"tvsn",
@"HD Video",            @"hdvd",
@"Gapless",             @"pgap",
@"Sort Name",           @"sonm",
@"Sort Artist",         @"soar",
@"Sort Album Artist",   @"soaa",
@"Sort Album",          @"soal",
@"Sort Composer",       @"soco",
@"Sort TV Show",        @"sosn",
@"Category",            @"catg",
@"iTunes U",            @"itnu",
@"Purchase Date",       @"purd",
... 

您是否检查过iTunes是否已经在其中一个现有字段中存储了插曲或季号?(即MPMediaItemPropertyAlbumTrackNumber)@Oren是的,对于一个视频文件来说,它们都是空白的。至少AlbumTitle、Artister、AlbumTrackNumber和Composer是空白的。我没有检查每一个,但我没有看到他们在歌词字段中存储节目名称,你知道吗?为什么会在歌词中?如果id3标签上有任何信息,我希望会填充MPMediaItemPropertyTitle。你也没有?Oren它不会出现在歌词中,我的观点是我已经检查了所有可能出现的字段,我忽略了那些字段(比如歌词),它们显然不会放在那里。MPMediaItemPropertyTitle有数据,但这是音频和视频字段之一。我正在寻找仅与视频文件相关的领域,如节目名称、季号等。我一直在与几起个人悲剧作斗争,因此我为没有尽快对此作出回应而道歉。但我现在要回到这个项目上来,我感谢你的回答!然而,除非我读错了,否则你提供的链接实际上并没有得到所要求的信息?您引用的代码只是将
@“电视插曲”
设置为占位符字符串,而其他属性如