我正在尝试AVURLAsset使用以下代码加载名为output.mov(在iPhone上创建)的文件:
NSURL *outputURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), @"output.mov"]];
AVURLAsset *videoAsset = [AVURLAsset URLAssetWithURL:outputURL options:nil];
Run Code Online (Sandbox Code Playgroud)
该文件位于tmp应用程序的目录中.没有出现错误,但似乎没有加载资产,因为没有元数据可用(即调用NSLog(@"%@", [videoAsset commonMetadata])什么都不返回),所以我不能对资产做任何事情.
我使用以下代码来确保通过URL可以访问资源,它看起来肯定是:
if ([outputURL checkResourceIsReachableAndReturnError:&err] == NO)
NSLog(@"Not reachable!");
Run Code Online (Sandbox Code Playgroud)
所以我不确定为什么资产没有加载.我也尝试使用加载资产,[AVAsset assetWithURL:]但也不起作用.
任何帮助将不胜感激.
这可能是因为您的文件的编码。例如,如果该文件是使用Sorenson 3 (SVQ3)编解码器编码的,则您需要在将媒体文件传递到AVURLAsset. 你可以使用QTMovieModernizer类来做到这一点。
| 归档时间: |
|
| 查看次数: |
1113 次 |
| 最近记录: |