- (voID)imagePickerController:(UIImagePickerController *)imagePickerdIDFinishPickingMediawithInfo:(NSDictionary *)info{ if (UTTypeEqual(kUTTypeMovIE,(__brIDge CFStringRef)[info objectForKey:UIImagePickerControllerMediaType])) { // ... }}
要么
Nsstring *mediaType = [info objectForKey:UIImagePickerControllerMediaType];if ([mediaType isEqualToString:(Nsstring *)kUTTypeMovIE]) {
要么
if ([mediaType isEqualToString:(Nsstring *)kUTTypeVIDeo] || [mediaType isEqualToString:(Nsstring *)kUTTypeMovIE])
要么
if (CFStringCompare ((__brIDge CFStringRef) mediaType,kUTTypeMovIE,0) == kcfCompareEqualTo)
要么
if ([mediaType isEqualToString:@"public.movIE"]
每个人似乎都有不同的做法.检查介质类型的推荐方法是什么?优选地,包括“所有图像类型”或“所有视频类型”的方式.
@H_404_23@解决方法 最好检查一下与特定UTI的一致性.现在,iOS告诉你它是一个public.movie,但它明年会说些什么呢?你会看到有人检查public.vIDeo.太棒了,所以你硬编码了两种而不是一种.
但问“这是一部电影吗?”不是更好吗?而不是硬编码您认为iOS将返回的特定类型?有办法做到这一点:
Nsstring *mediaType = info[UIImagePickerControllerMediaType];BOol isMovIE = UTTypeConformsTo((__brIDge CFStringRef)mediaType,kUTTypeMovIE) != 0;
如果mediaType表示电影,则使用此方法,如果返回电影(无论返回哪种特定类型),isMovIE应为YES,因为所有电影都符合kUTTypeMovIE.要非常清楚,如果它是kUTTypeVIDeo,它也会将其识别为电影,因为kUTTypeVIDeo符合kUTTypeMovIE.
同样,您可以检查返回的内容是否为图像:
Nsstring *mediaType = info[UIImagePickerControllerMediaType];BOol isImage = UTTypeConformsTo((__brIDge CFStringRef)mediaType,kUTTypeImage) != 0;
如果返回图像,则isIamge应为YES,因为所有图像都符合kUTTypeImage.
在这里查看Apple的(部分)类型树:Uniform Type Identifiers Are Declared in a Conformance Hierarchy.您可以获得一个不太有用但更完整的列表,列出系统当前识别的所有UTI以及它们与shell的一致性:
/System/library/Frameworks/CoreServices.framework/Frameworks\/LaunchServices.framework/Versions/A/Support/lsregister -dump
特别是,您可以看到public.vIDeo的定义如下:
--------------------------------------------------------type ID: 8344 uti: public.vIDeo description: vIDeo flags: exported active core apple-internal trusted icon: conforms to: public.movIE Tags: --------------------------------------------------------
请注意,如果类型相同,则UTTypeConformsTo返回true.来自Apple的文档:
总结Returns true if the uniform type IDentifIEr is equal to or conforms to the second type.
以上是内存溢出为你收集整理的ios – 确定图像选择器媒体类型是否为视频全部内容,希望文章能够帮你解决ios – 确定图像选择器媒体类型是否为视频所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)