Получить видео или видео информацию без открытой галереи Swift - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь получить видео без открытого Gallery или UIImagePickerController, как будто я добился успеха в получении изображений без открытой галереи. Есть ли способ получить файлы без открытого UIImagePickerController.

Может кто-нибудь объяснить мне, как получить файлы без открытого UIImagePickerController. Любая помощь будет принята с благодарностью.

Заранее спасибо.

1 Ответ

1 голос
/ 03 мая 2020

Например, используя следующий код, вы можете получить последнее пользовательское видео:

import Photos

let options = PHFetchOptions()
options.fetchLimit = 1
let sortDescriptor = NSSortDescriptor(key: "creationDate", ascending: false)
options.sortDescriptors = [sortDescriptor]
let fetchResult = PHAsset.fetchAssets(with: .video, options: options)
if fetchResult.count == 0 {
    // user has no video...
    return
}
let asset = fetchResult[0]
let requestOptions = PHVideoRequestOptions()
let manager = PHImageManager.default()

Затем, если вы хотите получить само видео, используйте следующий код:

manager.requestAVAsset(forVideo: asset, options: requestOptions, resultHandler: { oAsset, oAudioMix, oDict in
    if let urlAsset = oAsset as? AVURLAsset {
        let url = urlAsset.url
        // use URL to get file content
    }
})

В противном случае, если вы просто хотите воспроизвести видео, используйте следующий код:

manager.requestPlayerItem(forVideo: asset, options: requestOptions, resultHandler: { oPlayerItem, oDict in
    // do something with oPlayerItem
})

Для получения дополнительной информации вы можете прочитать this

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...