美文网首页
Error Domain=AVFoundationErrorDo

Error Domain=AVFoundationErrorDo

作者: 天空中的球 | 来源:发表于2020-05-28 17:13 被阅读0次

    在调试视频时出现黑屏的情况,然后发现是 AVPlayerItemStatusFailed 的,通过打印 item.error 得到 Error Domain=AVFoundationErrorDomain Code=-11850 "操作停止" 的错误提示。

    基本上网络上给出的都是 Domain=AVFoundationErrorDomain Code=-11850操作停止如何解决 的解答,通过联系服务商进行了解决,如果自己处理视频的请自行联系服务端人员解决。

    然而我这边不一样,我发现是 是 AVPlayerItem 初始化用法不同

    [AVPlayerItem playerItemWithAsset:asset];
    
    [[AVPlayerItem alloc] initWithURL:localVideoUrl];
    

    用了前者,发现就是有这个问题,后者没有。

    进一步发现是我们项目中,用了AVURLAssetPreferPreciseDurationAndTimingKey这个 key . 这个key对应的value是一个布尔值, 用来表明资源是否需要为时长的精确展示,以及随机时间内容的读取进行提前准备.

    然而实际告诉以上不同,都不是。

    + (NSURL *)fileURLWithPath:(NSString *)path; 
    
    + (nullable instancetype)URLWithString:(NSString *)URLString
    

    前者会自动带上 file:// 的前缀的,所以一般我们作如下区别

    • 访问的是本地资源,而且不包含协议头,使用fileURLWithPath创建URL
    • 使用fileURLWithPath创建URL时,不用担心URL中混有中文的问题,系统会自动实现转换

    我这边是引用本地的链接,所以应该是自己用 fileURLWithPath, 问题到此才找到答案的。

    相关文章

      网友评论

          本文标题:Error Domain=AVFoundationErrorDo

          本文链接:https://www.haomeiwen.com/subject/dleyahtx.html