如何检测 ALAssetLibrary 中的最后一项是照片还是视频?

Posted

技术标签:

【中文标题】如何检测 ALAssetLibrary 中的最后一项是照片还是视频?【英文标题】:How to detect whether last item in ALAssetLibrary is photo or video? 【发布时间】:2014-02-10 12:53:55 【问题描述】:

我正在开发一个相机应用程序。因为我需要在底部显示相机胶卷的最后一张图像。我可以使用 ALAssetsLibrary 来做到这一点。如果相机胶卷中的最后一项是视频,我需要显示该视频中的第一个缩略图。但是如何检测相机胶卷中的最后一个项目是照片还是视频,以便我能够显示相机胶卷中视频的最后一个图像还是第一张图像?

提前致谢。

【问题讨论】:

@dev- 为什么不每次在 nsuserdefault 中选择图像或视频时存储 如何检测照片或视频,即使它存储在 NSUserDefaults 中?显示最后一个图像和显示视频的第一个图像有不同的方法。如果我知道最后一张是照片或视频,我可以相应地调用方法。 【参考方案1】:

委托方法可以让你知道图片或视频文件是什么

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    
            NSString *type = [info objectForKey:UIImagePickerControllerMediaType];
            //NSLog(@"type=%@",type);
            if ([type isEqualToString:(NSString *)kUTTypeVideo] || 
                [type isEqualToString:(NSString *)kUTTypeMovie])
            // movie != video
                NSURL *urlvideo = [info objectForKey:UIImagePickerControllerMediaURL];
            
            else
                 // image
                
     

【讨论】:

但我不想在使用 UIImagePickerController 从库中选择后检测到它。我想通过使用 ALAssetsLibrary 检测它以自动显示在相机屏幕的底部。 @Dev- 选择后你可以保存最后一个对象是视频或图像。 请观察iPhone相机的功能。如果我们拍摄照片或视频,它将自动显示在底部。我也想这样做。 @Dev- 你的问题是如何检测最后选择的图像或视频,我的答案可以通过一些修改来使用。然后你就可以做你想做的事了

以上是关于如何检测 ALAssetLibrary 中的最后一项是照片还是视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 std::map 循环中的最后一次迭代?

我如何评论 ALAssetLibrary 代表

ios 8,如何使用 ALAssetLibrary 获取所有照片来替换丢失的相机胶卷相册

检测for循环中的最后一条记录

iOS PhotoKit框架 详解

如何检测一个元素是不是是数组中的最后一个元素?