【发布时间】:2014-01-16 02:24:49
【问题描述】:
我正在做以下事情:
- 使用给定的 URL 创建一个新的
AVAsset。该 URL 指向远程 Web 服务器上的视频。 - 尝试通过调用
loadValuesAsynchronouslyForKeys:completionHandler:加载tracks属性 - 初始请求失败,因为不存在互联网连接
- 我注意到调用
statusOfValueForKey:error:请求失败 - 然后我等待连接重新出现(使用一些可达性代码)。完成后,我再次致电
loadValuesAsynchronouslyForKeys:completionHandler:。
问题从这里开始。我想AVAsset 会继续尝试重新加载tracks 属性,因为它之前失败了。然而,这似乎并没有发生。 statusOfValueForKey:error: 仍会返回 AVKeyValueStatusFailed,尽管有可用的 Internet 连接并且可以播放视频。
有没有办法重置这个给定属性的状态并尝试另一个加载?有没有其他方法可以解决这个问题?
【问题讨论】:
-
只是一种可能,你有没有试过在失败后做
cancelLoading? -
你检查每一个键吗?每个键都有自己的状态并且随机出现(不是真的,但这就是时间明智的感觉),而不是同时出现。视频流的第一条规则是它真的比看起来更奇怪
标签: ios avfoundation avasset