首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取给定NSItemProvider的媒体项目的大小?

获取给定NSItemProvider的媒体项目的大小?
EN

Stack Overflow用户
提问于 2021-11-08 02:32:55
回答 1查看 66关注 0票数 0

我使用PHPickerViewController来允许用户从他们的媒体库中选择媒体项目。感兴趣的具体情况是当他们选择一个视频时。

我在PHPickerViewControllerDelegate委托方法上得到一个回调:

代码语言:javascript
复制
func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult])

我正在用loadFileRepresentationNSItemProvider上获取视频。

但是,该调用需要大量的时间。这一切可能都是徒劳的--因为我对用户可以添加到应用程序中的视频施加了大小限制。

所以,我的问题是:有没有一种方法可以快速确定用户选择的媒体项目的大小?例如,给定NSItemProvider

EN

回答 1

Stack Overflow用户

发布于 2021-11-08 03:37:02

你找错地方了。甚至在你有一个项目提供者之前,你开始做的是一个PHPickerResult。它为您提供资产标识符。在那里,您可以从图片库获取PHAsset,并查找图片库愿意告诉您的任何内容。大小是一个不确定的概念,但你肯定可以立即获得视频像素的大小和持续时间,这将告诉你很多信息。

当然,你需要获得图片库的读取权限才能访问该路径,而不仅仅是为了将视频保存到文件中。

另一方面,由于视频是巨大的,有人可能会问你为什么关心大小。处理视频的关键不是获得完整的数据块,而是播放它,而照片库会让你立即做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69878125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档