【问题标题】:AVURLAsset Not Loading (.mov file)AVURLAsset 未加载(.mov 文件)
【发布时间】:2013-03-16 09:19:32
【问题描述】:

我正在尝试使用以下代码将名为 output.mov(在 iPhone 上创建)的文件加载为 AVURLAsset

NSURL *outputURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), @"output.mov"]];

AVURLAsset *videoAsset = [AVURLAsset URLAssetWithURL:outputURL options:nil];

该文件位于应用程序的tmp 目录中。没有出现错误,但似乎没有加载资产,因为没有可用的元数据(即调用 NSLog(@"%@", [videoAsset commonMetadata]) 不会返回任何内容)所以我无法对资产做任何事情。

我使用了以下代码来确保可以通过 URL 访问该资源,而且肯定是这样的:

if ([outputURL checkResourceIsReachableAndReturnError:&err] == NO)
        NSLog(@"Not reachable!");

所以我不确定为什么资产没有加载。我也尝试使用[AVAsset assetWithURL:] 加载资产,但这也不起作用。

任何帮助将不胜感激。

【问题讨论】:

  • 可能是这样,但这并不能解决问题。使用NSURL *outputURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"output.mov"]]; 会产生完全相同的问题。我也不认为这是对这个问题投反对票的特别合理的理由——这个问题是完全合法和有效的。
  • 你设法找出问题 Skoota 了吗?

标签: ios avasset


【解决方案1】:

这可能是因为您的文件的编码。例如,如果该文件使用Sorenson 3 (SVQ3) 编解码器进行编码,则您需要在将媒体文件传递给AVURLAsset 之前对其进行现代化处理。您可以使用 QTMovieModernizer 类来实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    相关资源
    最近更新 更多