Я использую UIImagePickerController
, чтобы пользователь мог выбрать видео для использования в моем приложении. Работает нормально, но разрешение всегда 720p. Есть ли способ получить 1080p или даже лучше 4K?
Это мой код. videoQuality
ничего не делает, и установка allowsEditing
на false
также не помогла.
func showVideoPicker() {
let picker = UIImagePickerController()
picker.delegate = self
picker.videoQuality = .typeHigh
picker.sourceType = .photoLibrary
picker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary) ?? []
assert(!picker.mediaTypes.isEmpty)
picker.mediaTypes = ["public.movie"]
picker.allowsEditing = true
present(picker, animated: true, completion: nil)
}
Надеюсь, это поддерживается, потому что в противном случае мне кажется, что мне нужно создать свой собственный сборщик.
PS: У меня есть проект iOS 13.
РЕШЕНИЕ : Свойство picker.videoExportPreset
используется для управления разрешением сжатых видео. А вот предопределенные константы из AVFoundation
https://developer.apple.com/documentation/avfoundation/avassetexportsession/export_preset_names_for_quicktime_files_of_a_given_size