Я снимаю снимок с видео, он работает нормально, но я хочу перед тем, как сделать снимок, я хочу передать пользовательские ширину и высоту, чтобы я мог получить другой размер изображения, а не исходный размер.
func loadVideoWithVideoURL(_ videoURL: URL) {
print("load video url \(videoURL)")
let asset = AVURLAsset(url: videoURL)
let generator = AVAssetImageGenerator(asset: asset)
generator.appliesPreferredTrackTransform = true
let time = NSValue(time: CMTimeMakeWithSeconds(CMTimeGetSeconds(asset.duration)/2, preferredTimescale: asset.duration.timescale))
generator.generateCGImagesAsynchronously(forTimes: [time]) { [weak self] _, image, _, _, _ in
if let image = image, let data = UIImage(cgImage: image).pngData() {
let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let uniqueImageName = videoURL.deletingPathExtension().lastPathComponent
print("/\(uniqueImageName).JPG")
let imageURL = urls[0].appendingPathComponent("\(uniqueImageName).jpg")
let videoURL1 = urls[0].appendingPathComponent("\(uniqueImageName).mov")
//writing data here
try? data.write(to: imageURL, options: [.atomic])
}
}
Есть предложения?
Заранее спасибо !!