美文网首页
iOS 获取本地相册图片视频(一)

iOS 获取本地相册图片视频(一)

作者: Flora_HAHA | 来源:发表于2019-03-07 12:05 被阅读2次

本文代码内容适合跳转本地相册界面, 例如: 单图操作, 单视频操作.

多个图操作, 多个视频操作参考
iOS 获取本地相册图片视频(二)


代码思路

1.设置访问相机相册权限

2.引入框架

3.跳转相册界面

4.根据回调获取用户选择的文件(图片或视频)



详细内容

1.设置访问相机相册权限

.plist 的添加方式:

添加下面的一项,提示文字自定义
Privacy - Photo Library Additions Usage Description

source code的添加方式:

<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>


2.引入框架

#import <AVFoundation/AVCaptureDevice.h>
#import <AVFoundation/AVMediaFormat.h>
#import <Photos/Photos.h>
#import <AssetsLibrary/AssetsLibrary.h>

--

3.跳转相册界面

设置协议
<UIImagePickerControllerDelegate>
初始化相册界面并添加相册界面
// 初始化相册界面
UIImagePickerController *pickerController = [[UIImagePickerController alloc]init];
// 设置相册类型
pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// 手机选择一段视频或一张图片
// kUTTypeMovie: 视频
// kUTTypeImage: 图片
pickerController.mediaTypes =@[(NSString*)kUTTypeMovie, (NSString*)kUTTypeImage];
// 签协议
pickerController.delegate = self;
// 添加相册界面
[self.view addSubview:pickerController.view];

--

4.根据回调获取用户选择的文件(图片或视频)

#pragma mark - UIImagePickerControllerDelegate
// 相册界面: 用户未选择文件, 按下取消按钮走这个回调
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    // 移除相册界面
    [picker.view removeFromSuperview];
}
// 相册界面: 用户选择了一个文件, 获取到用户选择的文件
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
{
    // 移除相册界面
    [picker.view removeFromSuperview];
    // 文件显示的图片
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
     // 获取文件类型:
    NSString *mediaType = info[UIImagePickerControllerMediaType]; 
    if ([mediaType isEqualToString:(NSString*)kUTTypeImage]) {
         // 用户选的文件为图片类型(kUTTypeImage)
    }else if([mediaType isEqualToString:(NSString*)kUTTypeMovie]){
        // 用户选的文件为视频类型(kUTTypeMovie)
        // 获取视频对应的URL
        NSURL *url = info[UIImagePickerControllerMediaURL];
        // 上传视频时用到data
        NSData *data = [NSData dataWithContentsOfURL:url];
    }
}


注意:个人理解,若有错误请指正,谢谢!!!

相关文章

  • iOS 获取本地相册图片视频(一)

    本文代码内容适合跳转本地相册界面, 例如: 单图操作, 单视频操作. 多个图操作, 多个视频操作参考 iOS 获取...

  • iOS 获取本地相册图片视频(二)

    本文代码内容适合自定义选择相册文件内容, 例如: 多个图操作, 多个视频操作. 单图单视频操作参考 iOS 获取本...

  • iOS通过AssetsLibrary获取相册内的图片和视频和写入

    开发中遇到UI出图 获取本地相册的所有图片和视频 选择上传所以选择了AssetsLibrary来获取本地相册里的东...

  • 开源项目图片选择器--ImageSelect

    说明 ImageSelect是android 经量级选择图片框架,支持拍照,获取相册图片,本地视频,可以多选,单选...

  • iOS保存(获取)图片到相册

    iOS保存图片到相册 二 : 获取系统的相册图片(一张或者多张) 1.获取一张相册里的图片(图片 == 1) 获取...

  • Swift 使用总结

    1 相册和相机中获取图片和视频2 麦克风采集.3 定位和地图(MKMapView).4 AVplay播放本地视频....

  • Photos.framework

    ​通过PHAsset获取本地相册图片,主要通过PHImageManager获取.获取图片有两个接口,分别获取UII...

  • 2021-09-01

    iOS获取PHAsset的图片或视频资源的本地地址URL 项目中,之前使用UIImagePickerControl...

  • iOS从相册获取并压缩图片

    从相册获取图片 压缩图片(swift)通常在获取带相册的图片之后,都会发出去.但是,存在本地的图片可能比较大.因此...

  • Bitmap

    1.从应用中获取图片 2.从本地缓存中获取图片 3.将图片写入相册

网友评论

      本文标题:iOS 获取本地相册图片视频(一)

      本文链接:https://www.haomeiwen.com/subject/ozxcpqtx.html