如何判断给定文件是否可以通过照片框架添加到照片库?

How to tell if a given file can be added via Photos framework to Photo Library?

我想知道是否有人知道如何判断是否可以通过 iOS 照片框架添加给定文件,即。如果它是视频并且格式正确。具体来说:

给定一个大的 NSData* 指向可能是视频的内容,如何判断

[PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:fileURL]

不用每次都尝试就可以吗?有什么有效的方法可以分辨吗? 我仅有的其他元数据是文件名和文件大小。

我在 iOS 上没有任何处理视频的经验。我希望有一些方法可以尝试使用 NSData 创建一些视频对象并查看它是否有效,然后再尝试通过照片框架添加它。

谢谢!

您可以为此使用 AVAsset。使用 assetWithURL 方法创建资产并使用 AVAsset 的可用性属性。所有都是用于检查资产可用性的布尔属性。

您可以检查 5 个属性:

  • hasProtectedContent
  • playable
  • exportable
  • readable
  • composable

还有很多其他的属性,如果需要可以查看视频的其他参数。有关详细信息,请参阅 docs