我使用PHPickerViewController来允许用户从他们的媒体库中选择媒体项目。感兴趣的具体情况是当他们选择一个视频时。
我在PHPickerViewControllerDelegate委托方法上得到一个回调:
func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult])我正在用loadFileRepresentation从NSItemProvider上获取视频。
但是,该调用需要大量的时间。这一切可能都是徒劳的--因为我对用户可以添加到应用程序中的视频施加了大小限制。
所以,我的问题是:有没有一种方法可以快速确定用户选择的媒体项目的大小?例如,给定NSItemProvider
发布于 2021-11-08 03:37:02
你找错地方了。甚至在你有一个项目提供者之前,你开始做的是一个PHPickerResult。它为您提供资产标识符。在那里,您可以从图片库获取PHAsset,并查找图片库愿意告诉您的任何内容。大小是一个不确定的概念,但你肯定可以立即获得视频像素的大小和持续时间,这将告诉你很多信息。
当然,你需要获得图片库的读取权限才能访问该路径,而不仅仅是为了将视频保存到文件中。
另一方面,由于视频是巨大的,有人可能会问你为什么关心大小。处理视频的关键不是获得完整的数据块,而是播放它,而照片库会让你立即做到这一点。
https://stackoverflow.com/questions/69878125
复制相似问题