01-下載解壓zip包
// 1.獲取要下載文件的URL
guard let url = URL(string: "https://file.qf.56.com/f/style/static/gift/m/v2/zip/motianlun.zip") else {
return
}
// 2.獲取下載的文件存放的路徑
let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory, in: .userDomainMask)
// 3.開始進行下載
Alamofire.download(url, to: destination).response { (response : DefaultDownloadResponse) in
// 3.1.獲取zip所在的目錄
// URL : URL Scheme + Path
guard let zipPath = response.destinationURL?.path else {
return
}
print(zipPath) ?這個是帶有包名的路徑
// 3.2.獲取unzip存放的目錄---刪除最后的包名-解壓的路徑
let unzipPath = (zipPath as NSString).deletingLastPathComponent
// 3.3.解壓文件
SSZipArchive.unzipFile(atPath: zipPath, toDestination: unzipPath)
}}
02.采集視頻? 采集音頻? 音視頻的寫入---代理中執(zhí)行
03 GpuImage使用
// 1.獲取到需要處理的圖片
let image = imageView.image!
// 2.創(chuàng)建GPUImagePicture
let processImage = GPUImagePicture(image: image)
// 3.添加對應的濾鏡
let blurFilter = GPUImageGaussianBlurFilter()
blurFilter.blurRadiusInPixels = 5
blurFilter.texelSpacingMultiplier = 10
// 4.將濾鏡添加到processImage
processImage?.addTarget(blurFilter)
// 5.使用濾鏡處理下一次顯示的該圖片
blurFilter.useNextFrameForImageCapture()
processImage?.processImage()
// 6.獲取最新的圖片
imageView.image = blurFilter.imageFromCurrentFramebuffer()
}
GpuImage添加其他濾鏡
GPUImageStillCamera的使用
fileprivate var camera : GPUImageStillCamera!
fileprivate var filter : GPUImageBrightnessFilter!
var isFirst : Bool = true
@IBAction func startCapturing() {
if isFirst {
// 1.創(chuàng)建GPUImage中的相機 100 : 1
let camera = GPUImageStillCamera(sessionPreset: AVCaptureSessionPresetHigh, cameraPosition: .front)
camera?.outputImageOrientation = .portrait
self.camera = camera
// 2.添加濾鏡
let filter = GPUImageBrightnessFilter()
camera?.addTarget(filter)
self.filter = filter
// 3.創(chuàng)建GPUImageView對象
let gpuImageView = GPUImageView(frame: view.bounds)
view.insertSubview(gpuImageView, at: 0)
filter.addTarget(gpuImageView)
isFirst = false
}
// 4.開始采集
camera?.startCapture()
}
@IBAction func stopCapturing() {
camera.stopCapture()
}
@IBAction func rotateCamera() {
camera.rotateCamera()
}
@IBAction func takePhoto() {
camera.capturePhotoAsImageProcessedUp(toFilter: filter) { (image :? UIImage?, error : Error?) in
UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)
}
}