在不打开图库的情况下获取视频或视频信息 Swift
Get Video or Video Info Without open Gallery Swift
我试图在不打开的情况下获取视频 Gallery
或 UIImagePickerController
就像我在不打开图库的情况下成功获取图像一样。有什么方法可以在不打开 UIImagePickerController
.
的情况下获取文件
有人可以向我解释如何在不打开 UIImagePickerController 的情况下获取文件。任何帮助将不胜感激。
提前致谢。
例如使用下面的代码,可以得到最新的用户视频:
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
我试图在不打开的情况下获取视频 Gallery
或 UIImagePickerController
就像我在不打开图库的情况下成功获取图像一样。有什么方法可以在不打开 UIImagePickerController
.
有人可以向我解释如何在不打开 UIImagePickerController 的情况下获取文件。任何帮助将不胜感激。
提前致谢。
例如使用下面的代码,可以得到最新的用户视频:
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