微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AVAssetReader 无法初始化?

如何解决AVAssetReader 无法初始化?

我正在尝试通过 AVAssetReader 和 AVAssetWriter 导出 iCloud 资产,但 AVAssetReader 无法使用该资产进行初始化。所有其他视频工作正常。只有 iCloud 共享相册视频会引起麻烦。 AVAssetReader 给我的错误是:

Error Domain=AVFoundationErrorDomain Code=-11800 "操作无法完成" UserInfo={NSLocalizedFailureReason=发生未知错误(-17507),NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x2812d8ae0 {Error Domain=NSOsstatusErrorDomain代码=-17507 "(null)"}}

是否有任何原因要修复它或是否有其他替代方法

解决方法

使用 PHImageManager 请求资产时,将 deliveryMode 实例的 PHVideoRequestOptions 属性设置为 mediumQualityFormatfastFormat 可能是导致您出现问题的原因正在经历。尝试使用自动或高质量,因为根据文档,这些是导出时唯一支持的模式。

let videoRequestOptions = PHVideoRequestOptions()
videoRequestOptions.deliveryMode = .highQualityFormat
videoRequestOptions.isNetworkAccessAllowed = true

PHImageManager.default().requestAVAsset(forVideo: asset,options: videoRequestOptions) { (asset,audioMix,info) in
            // Use the returned asset 
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。