Есть два способа решения этой проблемы. Во-первых, есть свойство UIImagePickerController
, которое называется videoExportPreset
. Это свойство можно установить равным AVAssetExportPresetPassthrough
.
videoExportPreset , которое можно использовать для указания качества транскодирования видео (через строку AVAssetExportPreset *). Если значение равно nil (по умолчанию), вместо этого transcodeQuality определяется videoQuality. Недопустимо, если тип источника UIImagePickerControllerSourceTypeCamera
.
Не забудьте сделать import AVFoundation
.
Второй способ заключается в реализации собственного средства выбора, то есть с использованием PHAsset .
Пример:
let fetchResult = PHAsset.fetchAssets(with: .video, options: nil)
let videoRequestOptions = PHVideoRequestOptions()
videoRequestOptions.version = .original
fetchResult.enumerateObjects { (asset, index, _) in
PHImageManager.default().requestAVAsset(forVideo: asset, options: videoRequestOptions) { (avAsset, audioMix, infoDic) in
//----
}
}