Error Domain=AVFoundationErrorDomain Code=-11850 "操作停止

在調(diào)試視頻時出現(xiàn)黑屏的情況,然后發(fā)現(xiàn)是 AVPlayerItemStatusFailed 的,通過打印 item.error 得到 Error Domain=AVFoundationErrorDomain Code=-11850 "操作停止" 的錯誤提示。

基本上網(wǎng)絡(luò)上給出的都是 Domain=AVFoundationErrorDomain Code=-11850操作停止如何解決 的解答,通過聯(lián)系服務(wù)商進行了解決,如果自己處理視頻的請自行聯(lián)系服務(wù)端人員解決。

然而我這邊不一樣,我發(fā)現(xiàn)是 是 AVPlayerItem 初始化用法不同

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

用了前者,發(fā)現(xiàn)就是有這個問題,后者沒有。

進一步發(fā)現(xiàn)是我們項目中,用了AVURLAssetPreferPreciseDurationAndTimingKey這個 key . 這個key對應(yīng)的value是一個布爾值, 用來表明資源是否需要為時長的精確展示,以及隨機時間內(nèi)容的讀取進行提前準(zhǔn)備.

然而實際告訴以上不同,都不是。

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

前者會自動帶上 file:// 的前綴的,所以一般我們作如下區(qū)別

  • 訪問的是本地資源,而且不包含協(xié)議頭,使用fileURLWithPath創(chuàng)建URL
  • 使用fileURLWithPath創(chuàng)建URL時,不用擔(dān)心URL中混有中文的問題,系統(tǒng)會自動實現(xiàn)轉(zhuǎn)換

我這邊是引用本地的鏈接,所以應(yīng)該是自己用 fileURLWithPath, 問題到此才找到答案的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容