我正在从特定相册中获取 ALAsset 项目(图像和视频)的列表,并尝试使用 QLPreviewController 查看它们。
不幸的是,因为 ALAsset 不提供真正的文件 url,而只是“assets-library://”类型的 url,所以无法仅使用该 url 在 QLPreviewController 中查看它们。
我唯一的解决方案是首先将这些 ALAsset 中的每一个复制到我的应用程序内的 Documents 文件夹中(从 ALAssetRepresentation 获取原始数据并将其保存在一个文件中),然后使用 QLPreviewController 查看它们,但它最终太慢而且太迟钝当文件的数量或大小变大时。
有没有办法做到这一点?有没有其他方法可以枚举相册中返回真实文件系统 URL 的项目?还是我应该尝试使用 UIImageViews 和 MPMovieControllers 制作自己的预览控制器并重新创建所有功能(滑动、共享等)?