最近在用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",就會可以將視頻和圖片都顯示出來