最近在用Swift写一个采集器的项目,需要从手机的本地相册中选择照片和视频上传,毕竟经验并不是很足,我所遇到的问题就是调起系统相册ImagePickerController中只显示图片没有视频,简单的查了一下就解决了这个问题,简单的写了一个小Demo,下面是Demo 链接和主要的代码:https://github.com/Sufviay/PickerVideoImageDemo
当然在写这种相册、相机等调用系统的东西的时候需要在info中添加相应的获取权限字段:
Privacy - Microphone Usage Description App 访问麦克风
Privacy - Photo Library Usage Description 访问相册
Privacy - Camera Usage Description 访问相机
Privacy - Media Library Usage Description 访问媒体资源库
下面是调起系统相册并包含图片和视频的主要代码:
func photoShow() {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
if self.picker == nil {
self.picker = UIImagePickerController()
self.picker?.sourceType = UIImagePickerControllerSourceType.photoLibrary
self.picker?.delegate = self
//控制相册中显示视频和照片
self.picker?.mediaTypes = ["public.movie", "public.image"]
self.picker?.allowsEditing = false
}
self.present(picker!, animated: true, completion: nil)
} else {
print("读取图库失败")
}
}
主要是在UIImagePickerController的mediaTypes属性中添上"public.movie"和public.image",就会可以将视频和图片都显示出来