我正在从 ALAssetsLibrary 切换到 PHPhotoLibrary,想知道视频文件是否可以保存。 在 ALAssetsLibray 中,您知道,我们可以在开始使用 API 保存视频文件之前知道它
- (BOOL)videoAtPathIsCompatibleWithSavedPhotosAlbumNSURL *)videoPathURL;
有谁知道 PHPhotoLibrary 中 videoAtPathIsCompatibleWIthSavedPhotoAlbum 的替代 API 吗?
或者您知道确切的错误代码,这意味着视频文件无法保存在 iOS 设备上吗?
我保存视频文件的代码如下,
- (void)saveVideoFileNSURL *)videoURL completionsavePhotoFileCompletion)completion
{
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *assetChangeRequest;
assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:videoURL];
PHAssetCollectionChangeRequest *assetCollectionChangeRequest =
[PHAssetCollectionChangeRequest changeRequestForAssetCollection:self.assetCollection];
[assetCollectionChangeRequest addAssets[ [assetChangeRequest placeholderForCreatedAsset] ]];
}
completionHandler:^(BOOL success, NSError *_Nullable error) {
DBGLog(@"success=%@, error=%@", (success ? @"YES" : @"NO"), error);
completion(success, error);
}];
}
我发现这个问题谈论的是同一个问题。
How to use PHPhotoLibrary like ALAssetsLibrary
但它并没有提到确切的答案。
我通过 TSI 向 Apple 提出了我的问题。 他们的答案是使用以下 API
AVAsset *avAsset = [AVAsset assetWithURL:[NSURL fileURLWithPath:videoPath]];
BOOL canSaveVideo = [avAsset isCompatibleWithSavedPhotosAlbum];
看来我可以得到正确的兼容性。
重要的一点是,即使 canSaveVideo
的值为 NO,PHPhotoLibrary 也可以保存视频。
谢谢。
关于ios - 在 PHPhotoLibrary 中,如何知道视频文件是否可以保存在 iPhone 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38293852/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |