有没有办法以同步方式加载AVURLAsset? 我的场景是我需要在后台加载资源,同时显示不同的视图,并在资源准备好播放时更改为显示AVPlayer的视图。不是之前。
我已经尝试加载异步并调用委托方法来告诉“资产已准备好,您可以显示下一个视图”,但如果我在此之前收到内存警告,那么包含后台资产的视图将被释放在他们完成加载之前...所以我从来没有得到代表电话。这就是为什么我宁愿同步这样做。
有什么想法吗?
答案 0 :(得分:1)
我并非100%确定我理解您的目标,但我相信您应该能够使用[AVURLAsset commonMetadata]
或[AVURLAsset metadataForFormat:[[AVURLAsset availableMetadataFormats] lastObject]]
,然后在获得此信息后显示您的观点加载。这些方法返回一个AVMetadataItem
s数组,你应该很容易通过for循环遍历。对不起,如果这不是你想要的。