我试图加载一个名为 output.mov(在 iPhone 上创建)的文件作为 AVURLAsset
使用以下代码:
NSURL *outputURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), @"output.mov"]];
AVURLAsset *videoAsset = [AVURLAsset URLAssetWithURL:outputURL options:nil];
该文件位于
tmp
应用程序的目录。没有出现错误,但似乎 Assets 没有加载,因为没有可用的元数据(即调用 NSLog(@"%@", [videoAsset commonMetadata])
不返回任何内容),所以我无法对 Assets 做任何事情。我使用了以下代码来确保可以通过 URL 访问资源,而且它肯定是:
if ([outputURL checkResourceIsReachableAndReturnError:&err] == NO)
NSLog(@"Not reachable!");
所以我不确定为什么 Assets 没有加载。我还尝试使用
[AVAsset assetWithURL:]
加载 Assets 但这也不起作用。任何帮助将不胜感激。
最佳答案
这可能是因为您的文件的编码。例如,如果该文件是用 Sorenson 3 (SVQ3)
编码的在将媒体文件传递给 AVURLAsset
之前,您需要对其进行现代化的编解码器.您可以使用 QTMovieModernizer
来做到这一点。类(class)。
关于ios - AVURLAsset 未加载(.mov 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15447579/