我做了以下內容:重新加載密鑰時狀態AVKeyValueStatusFailed
- 創建一個新的
AVAsset
與給定的URL。該URL指向遠程Web服務器上的視頻。 - 嘗試通過調用
loadValuesAsynchronouslyForKeys:completionHandler:
- 初始請求失敗,我注意到,請求失敗致電
statusOfValueForKey:error:
- 加載
tracks
屬性,因爲沒有互聯網連接的存在 - 然後我等待連接,重新出現(使用一些可達性代碼)。一旦它發生,我再次撥打
loadValuesAsynchronouslyForKeys:completionHandler:
。
以下是問題出現的地方。我會想象,AVAsset
繼續並嘗試重新加載軌道屬性,因爲它以前失敗。但是,這似乎並沒有發生。 statusOfValueForKey:error:
仍然會返回AVKeyValueStatusFailed
,儘管有效的互聯網連接可用且視頻可播放。
有沒有辦法重置這個給定屬性的狀態並嘗試另一個負載?有其他解決方法嗎?
只是一種可能性,你試過'cancelLoading'後失敗了嗎? – Peres
你在檢查每個鍵嗎?每個鍵都有自己的狀態,並隨機出現(不是真的,但這是它如何感覺時間上的明智),而不是全部在同一時間。視頻流的第一條規則是它比它看起來更奇怪 – Michael